2011-08-21 64 views
0

什麼是簡單的方法來終止由後臺進程調用命令發起的遠程作業?kill invoke-command發起的遠程作業

我踢遠程PS腳本來運行傳統的exe文件,並需要一種方法來殺死該進程。

我打算先使用停止工作,但由於我正在閱讀,它只適用於本地進程。

然後我打算使用Remove-job -force命令,但是如果我理解正確,它將無法終止正在運行的進程(再次,我的遠程ps腳本將啓動另一個進程來運行exe文件)。

我讀書,我可以使用WMI終止命令殺死一個過程,但我不知道如何得到遠程進程的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} 

回答

0

確定今天上午從工作檢查,並能正常工作從調用腳本:

get-job | remove-job -force 

我被MSDN文檔混淆它說:

When you stop a background job, Windows PowerShell **completes** all tasks that are pending in that job queue and then ends the job