web-dev-qa-db-ja.com

PowerShellでopensslコマンドを実行する

PowerShellで次のコマンドを実行しています。

Invoke-Expression "openssl pkcs12 -in $certCN.pfx -nocerts -nodes -out $certCN.key -password pass:1111"

正常に動作しますが、opensslからの出力がtheいコンソールエラーを引き起こしています。

openssl : MAC verified OK
At line:1 char:1
+ openssl pkcs12 -in www.mywebsite.com.pfx -nocerts -node ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (MAC verified OK:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

このOpenSSLコマンドを実行し、出力を無視するか、少なくともコマンドとして解釈しないようにする最良の方法は何ですか?

6

必要ありませんInvoke-Expression(実際、 推奨されません 注入の影響を受けやすい特定の場合を除きます)。コマンドを実行し、変数文字列の拡張が必要な​​パラメーターを引用するだけです。

openssl pkcs12 -in "$certCN.pfx" -nocerts -nodes -out "$certCN.key" -password pass:1111

コマンドの出力を無視するための一般的な手法の1つは、Out-Null

7
Bill_Stewart