11

カスタムC#PowerShellコマンドレット(Cmdlet基本クラスから継承)があり、コマンドレットの実行時に「-Verbose」パラメーターが指定されているかどうかを識別できるようにしたい。-Verboseパラメーターが指定されている場合はWriteVerboseが出力されることを認識していますが、-Verboseが指定されている場合は実際に他のコードを実行したいと思います(つまり、-Verboseが指定されている場合はConsole.Write値を出力しません)。

ありがとう、

ジョン

4

2 に答える 2

10

コマンドレットのバインドされたパラメーターを次のように確認します。

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

掘り下げた後、これは私にとってはうまくいきます。PsCmdlet 名前空間を使用する Visual Studio 2013、Powershell 3.0 C# コマンドレット。import-module .\mytest.dll、次に mytest -verbose

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