PowerShell Advanced Функция Получите текущее ParstementSname
-
01-10-2019 - |
Вопрос
В C # вы можете получить текущий ParameterSetName
в ProcessRecord
переопределение PowerShell Cmdlet
с таким кодом:
switch (ParameterSetName)
{
case FromUriParamSetName:
loadFromUri();
break;
case FromFileParamSetName:
loadFromFile();
break;
}
Я пытаюсь выяснить, как я могу получить ценность для ParameterSetName
в командлете скрипта (расширенная функция).
Решение
Как способ расширить этот удивительный ответ:
switch ($PsCmdlet.ParameterSetName) {
"FromFile_ParamSet" {
}
"FromUri_ParamSet" {
}
"__AllParameterSets" {
}
}
То __AllparameterSets
это опция по умолчанию в PS
Другие советы
Использовать $PsCmdlet.ParameterSetName
:
switch ($PsCmdlet.ParameterSetName) {
"FromFile_ParamSet" {
}
"FromUri_ParamSet" {
}
}
Не связан с StackOverflow