使用-AsJob远程执行Powershell Invoke-Command无法启动远程程序

时间:2014-08-08 16:35:34

标签: powershell invoke-command powershell-jobs

我想推出一个长期运行的远程程序,但不想等待。所以我在PS脚本文件中放入一行命令并运行" Powershell -file xxx.ps1"

Invoke-command server1 {xxx.exe} -AsJob

但是脚本运行后远程程序没有运行,但是如果我以交互方式在PS控制台上运行命令,则远程程序运行正常。似乎程序在脚本终止时被终止。

为什么会这样?

更新

如果我在脚本结束时睡1秒钟,那么远程应用程序运行良好。

1 个答案:

答案 0 :(得分:1)

最好的方法是使用Wait-Job。它将等待您启动的工作,直到完成。否则脚本就会关闭,可能是在完全连接之前。

如果您想等待在后台运行的所有作业完成,您可以使用:

Invoke-command server1 {xxx.exe} -AsJob
Get-Job | Wait-Job