PowerShell高级函数获取当前的ParameterSetName

时间:2010-04-27 04:30:48

标签: powershell cmdlet

在C#中,您可以使用以下代码获取PowerShell ParameterSetName的{​​{1}}覆盖中的当前ProcessRecord

Cmdlet

我正在尝试弄清楚如何在脚本cmdlet(高级函数)中获取 switch (ParameterSetName) { case FromUriParamSetName: loadFromUri(); break; case FromFileParamSetName: loadFromFile(); break; } 的值。

2 个答案:

答案 0 :(得分:14)

使用$PsCmdlet.ParameterSetName

switch ($PsCmdlet.ParameterSetName) {
    "FromFile_ParamSet" {

    }
    "FromUri_ParamSet" {

    }
}

答案 1 :(得分:3)

作为扩展这个令人敬畏的答案的一种方式:

switch ($PsCmdlet.ParameterSetName) {
    "FromFile_ParamSet" {
    }
    "FromUri_ParamSet" {
    }
    "__AllParameterSets" { 
    }
}

__AllparameterSets是PS

中的默认选项