Powershell Cmdlet继承了一堆common parameters。我写的一些cmdlet最终会有谓词,这些谓词依赖于实际绑定的参数。这通常会导致过滤掉常用参数,这意味着您需要一个常用参数名称列表。
我还期望从一个版本的powershell到另一个版本的公共参数列表存在差异。
所有这些归结为这个问题:
如何以编程方式确定常用参数列表?
答案 0 :(得分:13)
这些静态属性怎么样?
[System.Management.Automation.PSCmdlet]::CommonParameters
[System.Management.Automation.PSCmdlet]::OptionalCommonParameters
现有的通用参数是两个列表的组合:
CommonParameters :列出PowerShell引擎添加到从PSCmdlet派生的任何cmdlet的公共参数。
OptionalCommonParameters :列出当cmdlet定义其他功能时由PowerShell引擎添加的公共参数(SupportsShouldProcess,SupportsTransactions)
即。所有这些都可以存在,但只有cmdlet支持它们时才会存在可选的。有关详细信息,请参阅Cmdlet Class