期待どおりに終了していたPowerShellISEでコマンドを実行していますが、コードをコマンドラインに移動してさまざまな環境で実行すると、エラーが発生しなくなりました。エラーはISEでのみ発生します。他の人が投稿したように、コマンドラインで-staを使用しようとしましたが、うまくいきませんでした。
$SIEBEL_HOME\srvrmgr.exe /c "Run Command"
echo "Exit Code: $lastExitCode - Return Code: $?"
ISEを介して実行すると、次の出力が得られます。
Exit Code: 0 - Return Code: False
コマンドラインでそのコマンドを実行すると、次の出力が得られます。
E:\powershell.exe -sta -file script.ps1
Exit Code: 0 - Return Code: True
ご覧のとおり、戻りコードを確認してISEで正しいアクションを取得しようとしていますが、コマンドラインから正しい結果を取得できません。
WindowsがISEで実行しているときに使用しているさまざまな環境変数があるかどうか疑問に思っています。ISEで実行すると、コンソールにエラーが赤で表示されます。