如何删除重复的服务主体名称《SPN

 


事件类型错误
事件来源: KDC
事件种类
事件 ID: 11
日期: 2011-8-3
事件: 8:34:12
用户: N/A
计算机: scndgc13
描述:
有多个
名为 host/scndgd187.xxx.com,类型为DS_SERVICE_PRINCIPAL_NAME 的帐户。
有关更多信息,请参阅在
[url=]http://go.microsoft.com/fwlink/events.asp[/url] 的帮助和支持中心。

以上是报错信息,如图《真实图》
 

经过查询资料,该问题可能由重复的service principal name  引起的,那么SPN是什么呢?
服务主体名称 (SPN) 是客户端唯一用来标识服务实例的名称。Kerberos 身份验证服务可以使用 SPN 对服务进行身份验证。当客户端想要连接到某个服务时,它将查找该服务的实例,并为该实例编写 SPN,然后连接到该服务并显示该服务的 SPN 以进行身份验证。
那么我们该如何解决呢?首先,我们需要使用ldifde命令在AD中查找重复的SPN,首先我们需要先安装support tools工具,以便支持上面的命令,可以在03的光盘上获取!
 

安装好后,我们把下面的代码复制到cmd里,请注意,这里面需要输入你的DC名称和域名
C:\WINNT\system32>ldifde -f dupespn.ldp -s scndgc13 -t 389 -d "dc=XXX,dc=com" -psubtree -r "(&(objectClass=user)(ServicePrincipalName=host/scndgd187.xxx.com))"-l "dn,ServicePrincipalName,objectClass,sAMAccountName"
如图
下面加的参数可以使用,ldifde 
来参考注释!
 

dupespn.ldp里导出了2个项目,然后通过记事本打开这个文件,如图
 

看到了重复SPN2个计算机,这个时候你可以看下哪个计算机是无效的或者不正规的,确定后打开AD的用户管理,看下computers里是不是存在这个计算机,如图
 

确定后,进行删除,如果还有用,那么重新加域即可,让他重新注册SPN,然后我们注销他现有的SPN,如图
 

至此,这个错误已经解决!
ldifde的用法请参考:http://support.microsoft.com/kb/237677/