带-AsJob的Powershell远程调用命令启动远程程序失败



我想启动一个长时间运行的远程程序,但不想等待。所以我在PS脚本文件中放了一行命令,然后运行"Powershell -file xxx.ps1"

Invoke-command server1 {xxx.exe} -AsJob

但是脚本运行后远程程序不运行,但是如果我在PS控制台中交互式运行上述命令,远程程序运行正常。当脚本终止时,程序似乎被杀死了。

为什么会这样?

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

解决这个问题的最好方法可能是使用Wait-Job。它将等待您启动的作业完成。否则,可能在连接完全建立之前,脚本就关闭了。

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

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

相关内容

  • 没有找到相关文章

最新更新