私はキーストアを管理するためにPowershellにいくつかのkeytoolラッパーを記述しようとしています。あなたは私が評価する変数にそれを保存したいと私は、標準ouptutにすべてをリダイレクトしています見ることができるようにJava keytool.exe powershell wrapperは標準エラーを抑制しません
$cmd = "& " + $keytoolexe + " -import " + $CAswitch +
" -alias " + $alias +
" -keystore " + $keystore + " -storepass " + $storepass +
" -file " + $file +
" -noprompt *>&1"
$result = Invoke-Expression -Command $cmd
:私は直面しています 問題は、そのようなコマンドを実行しているPowerShellは、ですコマンドの結果。
keytool.exeが正常にメッセージを返すと、powershellは何とかそれをエラーとして読み取ります。
ブロックコード自体を実行しようとしましたが、エラーは発生しませんでした。 しかし、このコードを関数の中に入れた後、パラメータ-ErrorAction stopを指定して関数を呼び出すと、このエラーが発生します。
keytool.exe : Certificate was added to keystore
At line:1 char:1
+ & "C:\Program Files\Emulex\OCM for VMware\JRE\bin\keytool.exe" -impor ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (Certificate was added to keystore:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
したがって、何らかの理由でErrorAction Stopが標準的なouptutリダイレクトを消滅させるようです。