我在同一个域中的同一个网络上有四台设备。
- 服务器1
- 服务器2
- 工作站1
- 工作站2
所有设备都启用了 PSRemoting。Server1 可以Enter-PSSession
访问 Server 2。Server2 可以Enter-PSSession
访问 Server 1,Workstation2 也是如此。但 Workstation1 无法Enter-PSSession
访问 Server1 或 Server2。
当我尝试Enter-PSSession
从 Workstation1 执行操作时,什么都没有发生。真的什么都没有。没有错误日志,没有错误消息。shell 只是挂起。或者,New-PSSession
在 ISE 中使用时,ISE 不会冻结,但它只是在完成基本脚本时挂起Invoke-Command
。
以下是我尝试修复 Workstation1 的方法
我注意到本地管理员帐户已被禁用,并且没有设置密码。这给我的域管理员帐户带来了一些问题。因此,我设置了管理员帐户密码,启用了它,然后重新启动。这解决了很多问题。但 PSSession 却没有问题。
我使用以下命令将 Server1 和 Workstation1 设置为受信任主机
winrm s winrm/config/client '@{TrustedHosts="ComputerName"}'
。没有抛出任何错误,两者都是受信任的。仍然没有结果。我使用以下命令在 Server1 和 Workstation1 之间测试 WinRM,
test-wsman -ComputerName Server1
测试返回成功结果。没有返回任何错误。我使用以下命令将 WinRM 的 IdleTimeout 设置为 18 秒:
winrm set winrm/config/winrs '@{IdleTimeout="18000"}'
仍然没有结果
什么都没起作用。我注意到的一件事是,Server1 和 Server2 正在运行 Powershell4.0 Build 6.3,而 Workstation1 正在运行 Powershell5.1.1629,Build 10.0。我找不到任何文档来说明这为什么重要。我开始认为这是注册表中的问题。