使用System.Management.Automation可以在C#中创建自定义PSCmdlet。
现在,如果您像这样创建 bool(boolean) 参数:
[Parameter()]
public bool ShowDefinition { get; set; }
您必须像这样调用cmdlet:
PS> Get-CustomValues -ShowDefinition 1
但我想在不将值传递给-ShowDefinition的情况下调用它。 -Debug的工作方式相同。
像这样:
PS> Get-CustomValues -ShowDefinition
我怎样才能做到这一点?
最佳答案
好的,我找到了答案。
您必须使用SwitchParameter。
[Parameter]
public SwitchParameter ShowDefinition { get; set; }
protected override void ProcessRecord(){
if(ShowDefinition.ToBool()){
...
}
}