0

用后台进程终止调用命令发起的远程作业的简单方法是什么?

我踢了远程 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}
4

2 回答 2

1

好的,今天早上下班检查,这在调用脚本中运行良好:

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
于 2011-08-22T14:23:16.493 回答
0

查看此答案,您可以将启动进程命令添加到脚本块并返回 pid 或将其保存到文本文件以供以后参考。

PowerShell - 获取被调用应用程序的进程 ID

于 2011-08-22T06:34:48.463 回答