powershell 为什么Invoke-Command在某些系统上不起作用?

h7appiyu  于 2023-06-23  发布在  Shell
关注(0)|答案(1)|浏览(140)

我看到这个问题被问了很多,但大多数答案归结为4件事:

  • 请确保已在远程系统上运行enable-PSRemoting -force
  • 确保远程系统上正在运行WMI服务。
  • 请确保防火墙规则允许5985和5986流量。
  • 确保在本地系统上运行了Set-Item wsman:\localhost\client\trustedHosts -value *,以确保本地系统信任它连接到的所有内容。
    **P.S....***您可能也想在远程系统上运行它 *

问题是-这个问题仍然存在,即使上面已经完成和验证。我发现的是:

  • Telnet到5985和5986显示端口已打开并正在侦听。--验证它们未被其他进程使用。
  • Get-WMIObject -computername <remoteSystemNameHere>工作。
  • Invoke-Command -Computername <remoteSystemNameHere>失败(即使提供了凭据)
  • 使用remoteSystem的FQDN不会更改结果。

这只发生在我们的域中的少数服务器上,并且还没有能够确定那些工作和那些不工作的服务器之间的任何不同。我知道这个问题在这个论坛上被问了很多,虽然基本的回答似乎都解决了80-90%的问题,但仍有10-20%的问题仍在寻找答案。任何帮助,我相信将不胜感激。
使用Invoke-Command -computername RemoteServerName.domain.ds -credential $cred -scriptblock {get-process "svchost"}
这是我得到的错误:

[RemoteServerName.domain.ds] Connecting to remote server RemoteServerName.domain.ds failed with the following error message :
The client cannot connect to the destination specified in the request. Verify that the service on the destination is
running and is accepting requests. Consult the logs and documentation for the WS-Management service running on the
destination, most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the
destination to analyze and configure the WinRM service: "winrm quickconfig". For more information, see the
about_Remote_Troubleshooting Help topic.
    + CategoryInfo          : OpenError: (RemoteServerName.domain.ds:String) [], PSRemotingTransportException
    + FullyQualifiedErrorId : CannotConnect,PSSessionStateBroken
vybvopom

vybvopom1#

你应该检查你的服务器的网络连接是私有的还是公共的。
如果是“公共”,则规则将不会应用于防火墙。将网络连接更改为“专用”,然后再次运行“Enable-PSRemoting -Force”。

相关问题