Как заставить параметр PSCmdlet bool работать как флаг?
Используя System.Management.Automation, вы можете создавать собственные PSCmdlets в C#. Теперь, если вы создадите логический параметр, подобный этому:
[Parameter()]
public bool ShowDefinition { get; set; }
Вы должны вызвать командлет следующим образом:
PS> Get-CustomValues -ShowDefinition 1
Но я бы хотел вызвать его, не передавая значение -ShowDefinition. Так же, как работает -Debug. Как это:
PS> Get-CustomValues -ShowDefinition
Как я могу это сделать?
1 ответ
ОК, я нашел ответ.
Вы должны использовать SwitchParameter.
[Parameter]
public SwitchParameter ShowDefinition { get; set; }
protected override void ProcessRecord(){
if(ShowDefinition.ToBool()){
...
}
}