如何声明参数集

此示例演示如何在声明 cmdlet 的参数时定义两个参数集。 每个参数集都有唯一参数和两个参数集使用的共享参数。 有关参数集(包括如何指定默认参数集)详细信息,请参阅 Cmdlet 参数集

重要

尽可能将参数集的唯一参数定义为必需参数。 但是,如果希望在不指定任何参数的情况下运行 cmdlet,则唯一参数可以是可选参数。 例如 Get-Command ,cmdlet 的唯一参数是可选的。

如何定义两个参数集

  1. ParameterSet 关键字添加到第一个参数集的唯一参数的 Parameter 属性。

    [Parameter(Position = 0, Mandatory = true,
               ParameterSetName = "Test01")]
    public string UserName
    {
      get { return userName; }
      set { userName = value; }
    }
    private string userName;
    
  2. ParameterSet 关键字添加到第二个参数集的唯一参数的 Parameter 属性。

    [Parameter(Position = 0, Mandatory = true,
               ParameterSetName = "Test02")]
    public string ComputerName
    {
      get { return computerName; }
      set { computerName = value; }
    }
    private string computerName;
    
  3. 对于属于这两个参数集的参数,请添加每个参数集的 Parameter 属性,然后将 ParameterSet 关键字添加到每个参数集。 在每个 Parameter 属性中,可以指定如何定义该参数。 参数可以在一个集内是可选的,在另一个集内是可选的。

    [Parameter(Mandatory= true, ParameterSetName = "Test01")]
    [Parameter(ParameterSetName = "Test02")]
    public string SharedParam
    {
        get { return sharedParam; }
        set { sharedParam = value; }
    }
    private string sharedParam;
    

另请参阅

Cmdlet 参数集

编写 Windows PowerShell Cmdlet