使用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()){
    ...
    }
}

08-26 23:26