在自定义C#PowerShell Cmdlet中识别是否指定了-Verbose

Joh*_*man 11 c# powershell cmdlet

我有一个自定义的C#PowerShell Cmdlet(继承自Cmdlet基类),我希望能够识别在运行Cmdlet时是否指定了"-Verbose"参数.我意识到当指定-Verbose参数时,WriteVerbose将输出,但是我想在指定-Verbose时实际执行一些其他代码(即,在指定-Verbose时不输出Console.Write值).

谢谢,

约翰

Kei*_*ill 10

检查cmdlet的绑定参数,如下所示:

if (this.MyInvocation.BoundParameters.ContainsKey("Verbose"))
{
}
Run Code Online (Sandbox Code Playgroud)

  • 您几乎必须从PSCmdlet继承以获取绑定参数.另请注意,即使已将其指定为-Verbose:false,Verbose也将处于绑定参数中,因此理想情况下您还需要检查参数的值. (2认同)