【问题标题】:Powershell Invoke-Command very slow to connect on one computerPowershell Invoke-Command 在一台计算机上连接速度非常慢
【发布时间】:2019-09-19 16:02:28
【问题描述】:

所以我尝试使用 Invoke-Command 在 Azure 中的远程服务器上运行命令。为了测试,我使用了一个超级简单的脚本:

Invoke-Command -ComputerName MyServer -ScriptBlock { Write-Output "HI"}

我已经在一大堆其他配置相同的服务器上运行了这个命令(据我所知),它们都在一秒钟或更短的时间内运行。对于这个特定的服务器,它需要 2 分钟或更长时间。我不知道为什么。它最终会正确执行,但建立远程 pssession 需要很长时间。

我已经尝试/验证的一些事情:

  • Powershell 版本在这台机器和其他机器上是相同的 (5.1.14393)。操作系统版本相同。
  • 我已尝试完全禁用 Windows 防火墙,但不成功
  • 我尝试使用显式凭据而不是 Kerberos
  • 网络适配器设置/IP 4 设置在所有机器上都相同。服务器是否在同一个子网上都没有关系。
  • 从问题机器我可以远程调用命令到其他机器就好了(
  • 我尝试将 PSSessionOptions 设置为described here
  • 尝试使用 ISE 与命令行,没有区别
  • 尝试使用 enter-pssession,没有区别
  • 尝试在此服务器和其他服务器上使用 psexec。它可以工作,大约需要 20-30 秒,但在所有服务器(包括问题服务器)上都是一致的。
  • 我已经重启了 WinRM 服务,重启了机器,在 Azure 中重新部署机器,没有骰子。
  • DISM 和 SFC 修复映像和安装文件

据我所知,这台机器与它的“兄弟”是相同的,它是在相同的时间、以相同的方式、在相同的子网上、具有相同的路由规则设置的。唯一的区别是机器大小,但我查询了其他不同大小的机器,它们都按预期工作。

我没有想法。想法?

【问题讨论】:

  • 我没有弄清楚这里的实际问题是什么,而是使用我们的标准运行手册创建了一个全新的 Azure VM(即它与当前的问题机器相同),并且调用命令脚本现在可以在~1 秒,就像其他功能机器一样。我还是不知道老家伙怎么了。

标签: performance powershell remote-access invoke-command


【解决方案1】:

我有类似的问题:命令似乎只是挂起。原来是代理。

在脚本中使用以下行绕过它:

netsh winhttp reset proxy

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-28
    • 2020-07-13
    • 1970-01-01
    相关资源
    最近更新 更多