PowerShell Advanced Функция Получите текущее ParstementSname

StackOverflow https://stackoverflow.com/questions/2718744

  •  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" {

    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top