11

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

谢谢,

约翰

4

2 回答 2

10

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

if (this.MyInvocation.BoundParameters.ContainsKey("Verbose"))
{
}
于 2012-10-01T18:01:08.517 回答
0

经过大量挖掘,这对我有用。Visual Studio 2013,Powershell 3.0 C# cmdlet 使用 PsCmdlet 命名空间。导入模块 .\mytest.dll,然后是 mytest -verbose

blnVerbose = this.MyInvocation.Line.ToLower().Contains("-verbose");
于 2014-11-11T21:12:29.877 回答