如何在PowerShell会话中正确退出远程工作

6

我有一些使用Powerhsell invoke-command -session命令启动的远程工作。 在某些情况下,至少一个远程子作业退出,但本地PS会话状态将作业报告为"Running",并且会话挂起等待作业完成。

这是PSv2中已知的错误吗?是否有解决方法或技术可让PS正确检测到远程子作业何时退出?


你有没有代码可以展示你正在查看哪些对象或属性?你尝试过查看会话运行空间吗?[System.Management.Automation.RemoteRunspace] AvailabilityChanged事件? - Jan Chrbolka
你如何确定子作业已退出? - Ansgar Wiechers
2个回答

1

你觉得怎么样:Remove-PSSession

Get-PSSession | Remove-PSSession
Remove-PSSession -Session (Get-PSSession)
$s = Get-PSSession
Remove-PSSession -Session $s

或者

$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession

Powershell Core: Remove-PSSession


0

当您使用 Invoke-Command -Session 时,我相信您需要使用 Get-PSSession 命令来获取更新的状态。来自 Technet

-Session

在指定的 Windows PowerShell 会话 (PSSessions) 中运行命令。输入包含 PSSessions 的变量或创建或获取 PSSessions 的命令,例如 New-PSSession 或 Get-PSSession 命令。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接