如何声明 Cmdlet 参数

这些示例显示如何声明命名参数、位置参数、必需参数、可选参数和 switch 参数。 这些示例还显示了如何定义参数别名。

如何声明命名参数

  • 定义公共属性,如以下代码所示。 添加 Parameter 属性时,请 Position 省略 特性中的 关键字。

    [Parameter()]
    public string UserName
    {
      get { return userName; }
      set { userName = value; }
    }
    private string userName;
    

有关 Parameter 属性详细信息,请参阅 Parameter Attribute Declaration

如何声明位置参数

  • 定义公共属性,如以下代码所示。 添加 Parameter 属性时,将 Position 关键字设置为参数位置。 值为 0 表示第一个位置。

    [Parameter(Position = 0)]
    public string UserName
    {
      get { return userName; }
      set { userName = value; }
    }
    private string userName;
    

有关 Parameter 属性详细信息,请参阅 Parameter Attribute Declaration

如何声明必需参数

  • 定义公共属性,如以下代码所示。 添加 Parameter 属性时,将 Mandatory 关键字设置为 true

    [Parameter(Position = 0, Mandatory = true)]
    public string UserName
    {
      get { return userName; }
      set { userName = value; }
    }
    private string userName;
    

有关 Parameter 属性详细信息,请参阅 Parameter Attribute Declaration

如何声明可选参数

  • 定义公共属性,如以下代码所示。 添加 Parameter 属性时,省略 Mandatory 关键字。

    [Parameter(Position = 0)]
    public string UserName
    {
      get { return userName; }
      set { userName = value; }
    }
    private string userName;
    

如何声明 Switch 参数

  • 将公共属性定义为类型 System.Management.Automation.SwitchParameter,然后声明 Parameter 属性。

    [Parameter(Position = 1)]
    public SwitchParameter GoodBye
    {
      get { return goodbye; }
      set { goodbye = value; }
    }
    private bool goodbye;
    

有关 Parameter 属性详细信息,请参阅 Parameter Attribute Declaration

如何使用别名声明参数

  • 定义公共属性,如以下代码所示。 添加列出参数别名的 Alias 属性。 本示例为同一参数定义了三个别名。 第一个别名提供快捷方式。 第二个和第三个别名提供可用于不同方案的名称。

    [Alias("UN","Writer","Editor")]
    [Parameter()]
    public string UserName
    {
      get { return userName; }
      set { userName = value; }
    }
    private string userName;
    

有关 Alias 属性详细信息,请参阅 Alias Attribute Declaration

另请参阅

System.Management.Automation.SwitchParameter

参数属性声明

别名属性声明

编写 Windows PowerShell Cmdlet