リモート セッションで exe を実行しようとしており、実行後に結果にアクセスしようとしています。
ローカルで試す場合:
Invoke-Command -ScriptBlock { Start-Process -FilePath ping -ArgumentList "1.1.1.1 -n 5 -w 3000" -NoNewWindow -Wait -PassThru }
プロセスは長時間実行される ping です。
Start-Process -FilePath ping -ArgumentList "1.1.1.1 -n 5 -w 3000" -NoNewWindow -Wait -PassThru
出力を取得し、待機します。しかし、同じコマンドをセッションに適用すると (New-PSSession を作成した後)
Invoke-Command -Session $serviceSession -ScriptBlock { Start-Process -FilePath ping -ArgumentList "1.1.1.1 -n 5 -w 3000" -NoNewWindow -Wait -PassThru }
それはすぐに戻ります。この結果を取得するにはどうすればよいですか。プロセスから ExitCode にアクセスできるため、本当に Start-Process を使用したいと考えています。$LASTEXITCODE は、使用したい exe に対して信頼できないことがわかりました。