我有一个自定义 C# PowerShell Cmdlet(继承自 Cmdlet 基类),我希望能够确定在运行 Cmdlet 时是否指定了“-Verbose”参数。我意识到当指定-Verbose 参数时WriteVerbose 会输出,但我想在指定-Verbose 时实际执行一些其他代码(即,当指定-Verbose 时不输出Console.Write 值)。
谢谢,
约翰
我有一个自定义 C# PowerShell Cmdlet(继承自 Cmdlet 基类),我希望能够确定在运行 Cmdlet 时是否指定了“-Verbose”参数。我意识到当指定-Verbose 参数时WriteVerbose 会输出,但我想在指定-Verbose 时实际执行一些其他代码(即,当指定-Verbose 时不输出Console.Write 值)。
谢谢,
约翰
检查 cmdlet 的绑定参数,如下所示:
if (this.MyInvocation.BoundParameters.ContainsKey("Verbose"))
{
}
经过大量挖掘,这对我有用。Visual Studio 2013,Powershell 3.0 C# cmdlet 使用 PsCmdlet 命名空间。导入模块 .\mytest.dll,然后是 mytest -verbose
blnVerbose = this.MyInvocation.Line.ToLower().Contains("-verbose");