カスタムC#PowerShellコマンドレット(Cmdlet基本クラスから継承)があり、コマンドレットの実行時に「-Verbose」パラメーターが指定されているかどうかを識別できるようにしたい。-Verboseパラメーターが指定されている場合はWriteVerboseが出力されることを認識していますが、-Verboseが指定されている場合は実際に他のコードを実行したいと思います(つまり、-Verboseが指定されている場合はConsole.Write値を出力しません)。
ありがとう、
ジョン
カスタムC#PowerShellコマンドレット(Cmdlet基本クラスから継承)があり、コマンドレットの実行時に「-Verbose」パラメーターが指定されているかどうかを識別できるようにしたい。-Verboseパラメーターが指定されている場合はWriteVerboseが出力されることを認識していますが、-Verboseが指定されている場合は実際に他のコードを実行したいと思います(つまり、-Verboseが指定されている場合はConsole.Write値を出力しません)。
ありがとう、
ジョン
コマンドレットのバインドされたパラメーターを次のように確認します。
if (this.MyInvocation.BoundParameters.ContainsKey("Verbose"))
{
}
掘り下げた後、これは私にとってはうまくいきます。PsCmdlet 名前空間を使用する Visual Studio 2013、Powershell 3.0 C# コマンドレット。import-module .\mytest.dll、次に mytest -verbose
blnVerbose = this.MyInvocation.Line.ToLower().Contains("-verbose");