上篇文章 如何: 连接到一台远程计算机 写完以后,发现并不完整,在一些情况下仍然不能连接到远程计算机。常见的现象就是通过 服务管理器 -> 右键-> 连接到到另一台计算机时出现连接不上远程计算机的提示。
通过错误提示,我们发现winrm quickconfig 标志
直接打开命令行-输入winrm quickconfig
可以得到类似于Message = WinRM cannot process the request. The following error occured while using Negotiate authentication: An unknown security error occured.
Error number: -2144108387 0x8033809D
An unknown security error occured.
这个问题发生是因为有两个或多个计算机账户注册了同样的服务主体名称(service principal name, SPN)。当密钥分发中心(Key Distribution Center, KDC, 由域控充当此角色)接到一个票据请求时会记录一条事件ID = 11 的日志,由于当它在全局目录的森林范围内进行检查认证时会发现有多于一个的SPN存在,就会报这个异常。
为了解决这个问题,需要定位有重复SPNs的计算机或者用户账户。当你已经定位了有重复SPNs的计算机账户时,你可以从域控上删除这个计算机账户,将这个计算机从域中移除然后重新加入域,或者你可以使用ADSIEdit来纠正有错误SPN的计算机上的SPN。
为了定位有重复SPNs的计算机账户,使用下面的步骤:
1. 使用下面提到的微软技术网站文章中的 spnquery.vbs. 粘贴代码,拷贝到记事本中,然后保存为spnquery.vbs.
2. http://www.microsoft.com/technet/scriptcenter/solutions/spnquery.mspx
4. 打开命令行,输入: cscript spnquery.vbs HOST/mycomputer* > c:\check_SPN.txt
注意要将mycomputer 换成你自己的机器名(在本机操作)
5. 使用记事本打开check_SPN.txt, 然后搜索在事件日志(安全)中报告的SPN。
6. 注意SPN所指的用户账户和计算机账户。
7. 使用ADSIEdit.msc 移除重复的SPN并注册到正确的对象上。(在域控上操作)
解决上述问题后,我们就可以使用winrm quickconfig 来配置我们的WMI 了。
参考链接:
http://support.microsoft.com/kb/970923
http://technet.microsoft.com/en-us/library/ee176972.aspx
http://msdn.microsoft.com/en-us/library/aa384372(v=vs.85).aspx