【问题标题】:Get List of all PSSessions for all users获取所有用户的所有 PSSession 列表
【发布时间】:2017-03-24 19:57:07
【问题描述】:

我正在尝试通过远程 PSSession 连接到服务器,但收到以下错误:

WS-Management 服务无法处理该请求。最大值 已超出此插件允许的并发 shell 数量。 稍后重试请求或提高每个插件配额的最大外壳数。 有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。

我知道我可以增加每个用户的 shell 数量,但我想确定此错误的原因以在将来缓解它。当我在远程计算机上运行 Get-PSSession -ComputerName "localhost" 时,没有返回任何输出(这意味着我的用户没有打开任何会话)。有没有办法让我为远程计算机上的所有用户获取所有会话?

【问题讨论】:

    标签: powershell


    【解决方案1】:

    看一下Get-WSManInstance cmdlet,如:

    Get-WSManInstance -ComputerName $ComputerName -ResourceURI Shell -Enumerate
    

    这是一篇关于我如何使用 cmdlet 的帖子,并将其作为对多台计算机运行相同命令的函数的一部分:http://tommymaynard.com/quick-learn-determine-if-theres-a-current-powershell-remoting-session-2016/

    【讨论】:

    • 该命令在引发错误的服务器上没有返回任何内容。我使用两个不同的帐户通过 PSSession 连接到与本地计算机不同的服务器。然后,我通过 RDP 作为这些用户之一登录到服务器并运行您的命令,它会完全按照您的博客中的说明输出来自两个用户的两个连接。有没有其他方法可以抛出这个错误?
    • 我赞成并接受您的回答,因为这是从所有用户那里获取所有打开的远程 Powershell 会话列表的正确解决方案。但是,在尝试与不从该命令返回任何内容的服务器建立新连接时,我仍然看到此错误。如果您对我可以尝试的其他方法有任何意见或建议,我将不胜感激!
    猜你喜欢
    • 2020-02-13
    • 2019-12-07
    • 2015-08-31
    • 2017-01-12
    • 2010-12-11
    • 2019-03-21
    • 2014-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多