$lastexitcode に値を代入するのは危険かもしれない | Powershell




現象


Powershell でコマンドを実行すると、$lastexitcode に値が戻されます。
これにより分岐処理を行うということです。しかし事情により $lastexitcodeに値を代入したい場合もあるでしょう。

そのようなときに $lastexitcode = 2 という処理を実施しました。

しかしその後 $lastexitcode で正常に値が取得できない現象が発生しました。

環境:Windows Server 2016
Powershellバージョン:5.1 ($PSVersionTable で確認)

原因



もしかしたら $lastexitcode に値を代入してはいけないのかもしれません。


対処


$lastexitcode 以外でエラー処理を行いたい場合は別途変数を作るとよいでしょう。

#errorflag=1


if (($errorflg -eq 1) -or ($lastexitcode -eq 1)))
{
#エラー処理
}



キーワード:Powershell

Windows トラブルシューティング一覧に戻る


(ご注意事項)本ページは2017年に独自に調査して記載した事項です。本ページには誤りがある可能性はあります。また今後仕様が変更となる可能性があります。
本ページにより発生したいかなる損失も誰も補償しません。あくまでも自己責任で参考にしてください。