在后台运行远程命令

时间:2017-11-04 17:39:38

标签: powershell powershell-v2.0

我创建了一个PowerShell脚本,该脚本使用以下命令为运行各种Windows和PowerShell版本(包括2.0!)的Windows主机创建远程会话以执行脚本块:

Invoke-Command -Session $my_session1 -ScriptBlock { ... } -Args

我需要确保脚本块可以终止,即使会话因任何原因终止,也许是因为我用来发出命令的PC因电源故障而崩溃。

如何确保脚本块完成?有没有办法在后台运行,在单独的进程中或以任何其他方式运行它,以便它可以在会话结束后继续存在?

我发现的解决方案都不适用于PowerShell 2.0。

1 个答案:

答案 0 :(得分:0)

Invoke命令有一个 -InDisconnectedSession 参数,它可以帮助您在断开连接模式下运行远程会话,并且您可以将其设置为 -AsJob ,如:

Invoke-Command -InDisconnectedSession $yoursession -scriptblock{} -Args -AsJob

希望它能给你一个新的方向。