参数属性声明

Parameter 属性将 cmdlet 类的公共属性标识为 cmdlet 参数。

语法

[Parameter()]
[Parameter(Named Parameters...)]

参数

Mandatory (System.Boolean) 可选命名参数。 True 指示 cmdlet 参数是必需的。 如果在调用 cmdlet 时未提供所需的参数,Windows PowerShell提示用户输入参数值。 默认为 false

ParameterSetName (System.String) 可选命名参数。 指定此 cmdlet 参数所属的参数集。 如果未指定参数集,则参数属于所有参数集。

Position (System.Int32) 可选命名参数。 指定参数在命令Windows PowerShell的位置。

ValueFromPipeline (System.Boolean) 可选命名参数。 True 指示 cmdlet 参数从管道对象接受其值。 如果 cmdlet 访问整个对象,而不只是访问 对象的属性,请指定此关键字。 默认为 false

ValueFromPipelineByPropertyName (System.Boolean) 可选命名参数。 True 指示 cmdlet 参数从管道对象的 属性中采用其值,该管道对象的同名或别名与此参数相同。 例如,如果 cmdlet 具有 参数,并且管道对象也具有 属性,则属性的值将分配给 Name Name Name Name cmdlet 的 参数。 默认为 false

ValueFromRemainingArguments (System.Boolean) 可选命名参数。 True 指示 cmdlet 参数接受传递给 cmdlet 的所有剩余参数。 默认为 false

HelpMessage 可选的命名参数。 指定参数的简短说明。 Windows PowerShell cmdlet 且未指定必需参数时,系统会显示此消息。

HelpMessageBaseName 可选的命名参数。 指定资源标识符所在的位置。 例如,此参数可以指定包含要本地化的帮助消息的资源程序集。

HelpMessageResourceId 可选的命名参数。指定帮助消息的资源标识符。

备注

  • 若要详细了解如何声明此属性,请参阅 如何声明 Cmdlet 参数

  • cmdlet 可以具有任意数目的参数。 但是,为了提供更好的用户体验,请限制参数的数量。

  • 必须在公共非静态字段或属性上声明参数。 应在属性上声明参数。 属性必须具有公共集访问器,如果指定了 或 关键字, ValueFromPipeline ValueFromPipelineByPropertyName 则该属性必须具有公共 get 访问器。

  • 指定位置参数时,将参数中位置参数的数量限制为小于 5。 而且,位置参数不一定连续。 位置 5、100 和 250 与位置 0、1 和 2 相同。

  • 如果 Position 未指定 关键字,则必须按其名称引用 cmdlet 参数。

  • 使用参数集时,请注意以下事项:

    • 每个参数集必须至少有一个唯一参数。 良好的 cmdlet 设计表明,如果可能,此唯一参数也应是必需的。 如果 cmdlet 设计为在没有参数的情况下运行,则唯一参数不能是必需的。

    • 任何参数集都不应包含多个位置参数,这些参数的位置相同。

    • 参数集内只有一个参数应声明 ValueFromPipeline = true

    • 多个参数可以定义 ValueFromPipelineByPropertyName = true

  • 有关参数名称的准则详细信息,请参阅 Cmdlet 参数名称

  • 参数属性由 System.Management.Automation.Parameterattribute 类定义。

另请参阅

System.Management.Automation.Parameterattribute

Cmdlet 参数名称

编写 Windows PowerShell Cmdlet