私の質問は、Invoke-Commandを使用してScriptBlockの戻りコードをキャプチャしようとしている点を除いて、this oneと非常によく似ています-FilePathオプション)。PowershellのInvoke-Commandで呼び出されたScriptBlockの戻り値を取得する方法
Invoke-Command -computername $server {\\fileserver\script.cmd $args} -ArgumentList $args
exit $LASTEXITCODE
問題は、Invoke-Commandコマンドはscript.cmdのリターンコードをキャプチャしていないということですので、私はそれが失敗したかどうかを知る方法がありません。ここに私のコードです。 script.cmdが失敗したかどうかを知る必要があります。
私もNew-PSSessionを使ってみましたが(これはリモートサーバ上のscript.cmdのリターンコードを見ることができます)、私はPowershellスクリプトを実際に何かするためにそれを戻す方法は見つけられません失敗。
これは機能しました。リモート変数をセッションからそのようなローカルスクリプトに戻すことができるかどうかはわかりませんでした。ありがとう! –
'$ remotelastexitcode = invoke-command -ScriptBlock {cmd/c exit 2; $ lastexitcode} - セッション$ remotesessionの仕事?複数のコマンドを与えるためにセッションを使用しているので、おそらくそれを防ぐことができます。 – manojlds
@manojldsはい、最初のスクリプトブロックのlastexitcodeをキャプチャすることもできます。 –