我通过执行以下命令禁用了我的服务器上的winrm服务的协商身份validation:
winrm put winrm/config/service/Auth @{Negotiate="false"}
现在我可以用winrm执行任何操作。 我得到的错误:
Message = The WinRM client cannot process the request. The WinRM client trie d to use Negotiate authentication mechanism, but the destination computer (local host:47001) returned an 'access denied' error. Change the configuration to allow Negotiate authentication mechanism to be used or specify one of the authenticat ion mechanisms supported by the server. To use Kerberos, specify the local compu ter name as the remote destination. Also verify that the client computer and the destination computer are joined to a domain. To use Basic, specify the local co mputer name as the remote destination, specify Basic authentication and provide user name and password. Possible authentication mechanisms reported by server:
我了解错误,但问题是,我发现在网上启用协商身份validation的唯一方法是执行:
winrm put winrm/config/service/Auth @{Negotiate="true"}
上面的错误当然会给出。 有另一种启用协商身份validation的方法吗?
使用组策略:
计算机>策略>pipe理模板> Windows组件> Windows远程pipe理> WinRM服务:
禁止协商身份validation:已禁用。
编辑registry项HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ WSMAN \ Client。
将auth_kerberos和auth_negotiate设置为1。
重新启动服务。
在我们的服务器2012 / Exchange 2010机器上,我们在尝试使用AVG备份软件时遇到了此错误。
我发现删除这个关键下的maxenvelopesize和trusted_hosts伎俩
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Client] "maxEnvelopeSize"=dword:000007d0 "trusted_hosts"="*"
我有一个服务器工作,但另一个不会。 我找不到问题。 最后我明白了。
在发送服务器上:设置本地策略计算机configuration\pipe理模板\系统\凭证委托\允许委派新的证书。 在那里,将添加服务器中的WSMAN *设置到列表中(同时选中连接OS默认值的checkbox)
在接收服务器上(使用以下:)创build.reg文件:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Client] "auth_credssp"=dword:00000000 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Service] "auth_credssp"=dword:00000001
为我工作
正如在这个答案build议,但服务,而不是客户端:
编辑registry项HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Service 。
将auth_kerberos和auth_negotiate设置为1 。
重新启动Windows远程pipe理(WS-Management)服务。