如何以编程方式获取所有常用参数的列表?

时间:2015-04-29 23:10:07

标签: powershell reflection parameters

Powershell Cmdlet继承了一堆common parameters。我写的一些cmdlet最终会有谓词,这些谓词依赖于实际绑定的参数。这通常会导致过滤掉常用参数,这意味着您需要一个常用参数名称列表。

我还期望从一个版本的powershell到另一个版本的公共参数列表存在差异。

所有这些归结为这个问题:

如何以编程方式确定常用参数列表?

1 个答案:

答案 0 :(得分:13)

这些静态属性怎么样?

[System.Management.Automation.PSCmdlet]::CommonParameters
[System.Management.Automation.PSCmdlet]::OptionalCommonParameters

现有的通用参数是两个列表的组合:

  

CommonParameters :列出PowerShell引擎添加到从PSCmdlet派生的任何cmdlet的公共参数。

     

OptionalCommonParameters :列出当cmdlet定义其他功能时由PowerShell引擎添加的公共参数(SupportsShouldProcess,SupportsTransactions)

即。所有这些都可以存在,但只有cmdlet支持它们时才会存在可选的。有关详细信息,请参阅Cmdlet Class