Invoke-Command 失败:WinRM 无法完成操作

问题描述 投票:0回答:3

使用两台机器,一台本地机器和一台远程机器(地址标记为

remoteAddress
),我尝试在本地机器上运行它:

Invoke-Command -ComputerName remoteAddress -ScriptBlock { dir c:\ }

但我收到此错误:

[remoteAddress] 连接到远程服务器 RemoteAddress 失败,原因是
以下错误消息:WinRM 无法完成操作。验证一下
指定的计算机名称有效,可以通过以下方式访问该计算机
网络,并且启用了 WinRM 服务的防火墙例外
并允许从此计算机进行访问。默认情况下,WinRM防火墙例外
公共配置文件限制对同一本地计算机内的远程计算机的访问
子网。
有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。
    + 类别信息:OpenError:(远程地址:字符串)[],PSRemotingTransportException
    + FullQualifiedErrorId :WinRMOperationTimeout,PSSessionStateBroken

我对类似情况进行了修复。我检查过的内容:

  • Ping 远程地址成功。

  • 在两台机器上

    Enable-PSRemoting -Force
    已返回

    WinRM 已设置为在此计算机上接收请求。
    WinRM 已设置为在此计算机上进行远程管理。
  • 在两台机器上

    Set-WSManQuickConfig
    已返回

    WinRM 已设置为在此计算机上接收请求。
    WinRM 已设置为在此计算机上进行远程管理。

但是,我在尝试连接到远程计算机时仍然遇到此错误。


我从本地计算机运行

test-wsman -ComputerName _remote-machine_ -Port 5985
我收到此错误:

test-wsman :WinRM 无法完成操作。验证指定的计算机
名称有效,计算机可通过网络访问,并且 WinRM 服务存在防火墙例外
已启用并允许从此计算机进行访问。默认情况下,WinRM 防火墙对公共配置文件的例外限制
访问同一本地子网内的远程计算机。
行:1 字符:1
+ test-wsman -计算机名_远程_ -端口 5985
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (_remote-machine_:String) [Test-WSMan], InvalidOperationExcept
   离子
    + FullQualifiedErrorId :WsManError,Microsoft.WSMan.Management.TestWSManCommand
powershell remote-access invoke-command winrm
3个回答
0
投票

您是否已将遥控器添加到本地受信任主机列表中?如果没有,您可以通过添加它们

winrm s winrm/config/client '@{TrustedHosts="RemoteComputer"}'

0
投票

您是否有到计算机的活动远程会话(例如远程桌面)?

我的经验是,这可能是 Invoke-Command 失败的唯一原因。


0
投票

确保您的 NetConnectionProfile 应该是私有的。

这就是公开资料的原因。

就我而言,将 NetConnectionProfile 从公共更改为私有后,它就起作用了。我希望这对你有用。

© www.soinside.com 2019 - 2024. All rights reserved.