【问题标题】:How do you correctly exit a remote job in a PowerShell session如何在 PowerShell 会话中正确退出远程作业
【发布时间】:2015-09-02 00:48:57
【问题描述】:

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

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

【问题讨论】:

  • 您有任何代码来显示您正在查看的对象或属性吗?您是否尝试过查看会话的 运行空间? [System.Management.Automation.RemoteRunspace] AvailabilityChanged 事件?
  • 如何确定子作业退出?

标签: powershell rpc invoke-command


【解决方案1】:

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

-会话

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

【讨论】:

    【解决方案2】:

    怎么样: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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-02
      • 2011-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多