バックグラウンドプロセスでinvoke-commandによって開始されたリモートジョブを強制終了する簡単な方法は何ですか?
リモート PS スクリプトをキックしてレガシー exe ファイルを実行し、そのプロセスを強制終了する方法が必要です。
最初に stop-job を使用するつもりでしたが、読んでいるように、ローカル プロセスでしか機能しません。
次に、Remove-job -force コマンドを使用するつもりでしたが、正しく理解できていれば、完了するまで実行中のプロセスを強制終了できません (ここでも、リモート ps スクリプトが別のプロセスを開始して exe ファイルを実行します)。
wmi terminate コマンドを使用してプロセスを強制終了できることを読んでいますが、リモート プロセスの PID を取得する方法がわかりません (他のユーザーからプロセスを強制終了できるため、名前は使用できません)。
私の目標を達成するための最良の方法は何ですか?
私のスクリプトは次のようになります。
invoke-command -computername server1,server2,server3..etc -script-block {my.exe} -asjob
loop to wait for all processes to complete and report progress
check for CTRL-C press and kill all remote instances on {my.exe}