如何在Powershell V3中启用Powershell远程控制?

3

我正在运行连接到域的 Windows 7 中的 PowerShell 3.0。

运行 Enable-PSRemoting 命令后,以下是我收到的日志信息:

WinRM has been updated to receive requests.
WinRM service type changed successfully.

Set-WSManQuickConfig : <f:WSManFault xmlns:f="http://schemas.microsoft.com/wbem/wsman/1/wsmanfault" Code="2"
Machine="localhost"><f:Message><f:ProviderFault provider="Config provider" path="%systemroot%\system32\WsmSvc.dll"><f:WSManFault
xmlns:f="http://schemas.microsoft.com/wbem/wsman/1/wsmanfault" Code="2" Machine="mycomputername.mydomainname"><f:Message>Unable to check the sta
the firewall. </f:Message></f:WSManFault></f:ProviderFault></f:Message></f:WSManFault>
At line:1 char:1
+ Set-WSManQuickConfig
+ ~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Set-WSManQuickConfig], InvalidOperationException
    + FullyQualifiedErrorId : WsManError,Microsoft.WSMan.Management.SetWSManQuickConfigCommand

请查看关于远程故障排除的帮助主题about_Remote_Troubleshooting - Keith Hill
@KeithHill 尝试在 cmdlet 中使用 SkipNetworkProfileCheck 参数,结果仍然相同。 - a4aravind
你的防火墙启动了吗? - JPBlanc
1
确保您的网络不是公共配置文件。 - Keith Hill
@JPBlanc 是的,我的防火墙服务已经启动了。但是"winrm quickconfig"命令却告诉我:WinRM服务已在此计算机上运行。 WSManFault Message ProviderFault WSManFault Message = 无法检查防火墙的状态错误编号:-2147024894 0x80070002 系统找不到指定的文件。 - a4aravind
@KeithHill 我的机器在域网络上。 - a4aravind
4个回答

2
抱歉...在我的防火墙设置的入站规则中,没有添加Windows远程管理(HTTP-In)规则。我添加了它,问题得到解决。 因此,请确保在防火墙设置中为WinRM(Http-In)配置所有入站规则。

有关编程的内容翻译如下:有关此事的任何屏幕截图吗?我已在Windows 8.1中禁用了SmartScreen和防火墙。 - Kiquenet

2
补充a4aravind的回答,我在Server 2k12 Core环境中遇到了类似的问题,但仅添加防火墙规则无法解决。在我的情况下,出现问题的计算机都在域上(或最近曾经在域上)。我发现我需要执行以下操作:
1. 打开regedit.exe并删除HKLM:\SYSTEM\Policies\Microsoft\Windows Firewall。这些是Win. Firewall的GPO策略设置,它们的存在似乎会锁定脚本查询/更改防火墙的能力。当更新发生时,这些设置将由GP重新创建,请确保您足够快以避免更新(尽管必须备份声明适用于此处*)。
2. 如a4aravind所建议的那样,我必须手动添加WinRM的防火墙规则。在我的情况下,我发现我必须在预定义的集合中同时拥有两个规则 - 我的计算机已配置为仅使用域规则,我必须添加公共规则。
做出这些更改后,我就能运行Enable-PSRemoting,并且再次应用域防火墙规则,即可运行gpupdate。
希望这能帮助处于类似情况的人。我在某些计算机上遇到的类似错误消息是“无法启用WinRM的防火墙”。我相信这是由于组策略引起的,在显示“出于安全考虑,某些设置受组策略控制”消息时会发生。
注意:在我的情况下,受影响的服务器都是从曾经加入域并捕获了一些有问题的GPO策略以破坏WinRM的映像构建而来,然后被从域中删除并添加到我们的目录中。这表明在推出几十个服务器映像之前,您应该检查您的映像。

谢谢提供信息 :) - a4aravind
谢谢,但我没有 HKLM:\SYSTEM\Policies。如何解决同样的问题? - Artyom

0
在我的情况下,重新启动Windows防火墙服务就解决了问题。

我已经重新启动了服务,但没有帮助。 - Artyom

0
在我的情况下,我不仅需要添加“正常”的规则,还需要添加“兼容性”规则:
Windows Remote Management - Compatibility Mode (HTTP-In)
Windows Remote Management (HTTP-In)

总共有4条规则。

下一步是将公共配置文件规则的远程地址字段设置为任何

这样就可以修改所有的WinRM设置了。

如果效果不立即生效,则选择所有4条规则,禁用它们并重新启用,然后重启WinRM服务。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接