Windows 如何在多台计算机上远程修改WinRM服务的凭据

Windows 如何在多台计算机上远程修改WinRM服务的凭据,windows,scripting,Windows,Scripting,我正在为PowerShell远程处理准备由Windows XP/7、Windows 2003/2008组成的环境。我已经按照Microsoft过程通过组策略配置了WinRM服务和侦听器以及防火墙入站规则。然而,我在我的管理站(RSAT)上使用了GP编辑器,而不是DC上的,它提供了一个本不应该配置的额外配置选项。即服务将在其下运行的凭据。未触及它自动拿起我的域管理员帐户。现在,WinRM服务在错误的帐户下配置,它不会在任何计算机上启动。服务器或客户端。当我尝试在任何机器上手动启动服务时,会收到以下

我正在为PowerShell远程处理准备由Windows XP/7、Windows 2003/2008组成的环境。我已经按照Microsoft过程通过组策略配置了WinRM服务和侦听器以及防火墙入站规则。然而,我在我的管理站(RSAT)上使用了GP编辑器,而不是DC上的,它提供了一个本不应该配置的额外配置选项。即服务将在其下运行的凭据。未触及它自动拿起我的域管理员帐户。现在,WinRM服务在错误的帐户下配置,它不会在任何计算机上启动。服务器或客户端。当我尝试在任何机器上手动启动服务时,会收到以下错误消息:

Windows could not start the Windows Remote Management (WS-Management) service on Local Computer.

Error 1079: The account specified for this service is different from the account specified for other services running in the same process"
经过一些研究和修补,我了解到该服务应该在网络服务帐户下运行,默认密码为空。当我手动将任何机器上的凭据更改为网络服务并清除密码框时,我会收到一个确认弹出窗口:

The account NT AUTHORITY\Network Service has been granted the Log On As A Service right.
之后,WinRM服务将正常启动。我需要找到一种方法在多台计算机上远程更改此服务的凭据。显然,我不能使用PowerShell,因为该服务是PSRemoting的先决条件。我确实在一台机器上通过GPO在启动脚本中尝试了
sc.exe
,如下所示:

sc.exe config "WinRM" obj= "Network Service" password= ""
net stop WinRM
net start WinRM
然而不幸的是,它什么也没做。我在所有win7/win2008机器上都启用了UAC,我还有WinXP和Win2003框

有没有人对解决方案有什么想法?也许是一个可能有用的脚本?我不是一个很会写脚本的人,所以如果你愿意帮我写脚本,你能告诉我如何使用它吗


欢迎所有回复

我晚了几个月,但希望这能帮助别人。我刚刚通过为WinRM服务配置组策略首选项并手动输入以下内容,在测试和生产环境中解决了此问题:

User: NT AUTHORITY\NetworkService
Password: <space>
User:NT AUTHORITY\NetworkService
密码:

没错。您必须手动输入我写的帐户名,密码是一个空格。用户名和密码的其他组合对我不起作用。如果其他组合有效,我很想知道。

添加到此帖子。以下命令将用于完成上述操作

sc.exe config“WinRM”obj=“NetworkService”

在测试中,我发现NetworkService帐户实际上在两个单词之间没有空格,但在GUI中它确实显示空格