DNS 域和 Active Directory 域名不一致时出现 DNS 注册错误 5788 和 5 [ yinjie 发表于 2004-10-29 2:03:35]

DNS 域和 Active Directory 域名不一致时出现 DNS 注册错误 5788 和 5789

文章 ID : 258503
最后更新日期 : 2004年5月14日
版本 : 1.0
本页内容
症状
原因
解决方案

症状

Windows 2000、Windows XP 和 Windows Server 2003 成员计算机在其安全通道被重置时(例如,在计算机重启时)会更新其 DNS 主机名和 ServicePrincipalName (SPN) 属性。在 Windows XP 和 Windows Server 2003 成员计算机加入域之后,会首先设置或更新其 SPN 属性,然后才执行所要求的重启。ServicePrincipalNames 按照规则的时间间隔每 22 分钟由 Windows 2000 和 Windows Server 2003 域控制器上的 NETLOGON 服务更新一次。

不能在基于 Windows 2000 的域控制器上更新这些属性的计算机会记录如下事件:
Event 5789
Attempt to update DNS Host Name of the computer object in Active Directory failed.The following error occurred:The parameter is incorrect.
Event 5788
Attempt to update Service Principal Name (SPN) of the computer object in Active Directory failed.The following error occurred:The attribute syntax specified to the directory service is invalid.

原因

如果计算机上的 DNS 域名与 Active Directory 域名不匹配,就会出现此行为。具体就是“在域成员身份变化时,更改主 DNS 后缀”这一复选框被清除,并且包含一个与该计算机属于其成员的那一 Active Directory 域不同的 DNS 域。要查看此复选框,请右键单击我的电脑,单击属性,然后单击网络标识选项卡。

之所以会发生 5788 和 5789 错误,是因为当写入的新值与现有值不同时,默认的基于 Windows 2000 的计算机帐户没有足够的权限来执行对 DNSHOSTNAME 和 SPNNAME 属性的 LDAP 修改。将新值写入具有空的 DNSHOSTNAME 和 SPNNAME 属性的计算机帐户可以成功执行。类似地,向计算机帐户授予足够的权限也能使更新在不发生错误的情况下执行。

对 LDAP 修改请求的响应进行网络跟踪的结果显示出:
win:17368, src:389 dst: 1044
LDAP:ProtocolOp:ModifyResponse (7)
LDAP:MessageID
LDAP:ProtocolOp = ModifyResponse
LDAP:Result Code = Constant Violation
LDAP:Error Message = 0000200B:AtrErr:DSID-03151E6D
(注意,2000B 十六进制 = 8203 十进制。)net helpmsg 8203 命令返回“The attribute syntax specified to the directory service is invalid”(指定给目录服务的属性语法无效)这一信息。网络监视器(版本 5.00.943)显示的结果代码为“Constant Violation”(常量冲突)。Winldap.h 将错误 13 映射到“LDAP_CONSTRAINT_VIOLATION”。

解决方案

如果不连贯的名称空间不是您所希望的,请单击选中“在域成员身份变化时,更改主 DNS 后缀”复选框并重新启动计算机。

如果不连贯的名称空间是您所希望的,请确保不选中“在域成员身份变化时,更改主 DNS 后缀”复选框,然后按照下列步骤操作:
1. 启动“Active Directory 用户和计算机”管理单元。
2. 在控制台树中,右键单击“Active Directory 用户和计算机”,然后单击连接到域
3. 框中,键入域名,或单击浏览以找到您希望使其中的计算机能够使用不同 DNS 名称的那一域,然后单击确定
4. 右键单击“Active Directory 用户和计算机”,指向查看,然后单击高级功能
5. 右键单击该域的名称,然后单击属性
6. 安全选项卡上,依次单击添加Self(自己)组、添加,然后单击确定
7. 单击高级,单击 Self(自己),然后在查看菜单上单击编辑
8. 对象选项卡上,在“应用到”框中,单击计算机对象。在权限下,单击已验证的到 DNS 主机名的写入,然后单击允许复选框。而且,您可能还必须单击已验证的到服务主体名称的写入,然后单击“允许”复选框。

警告:在利用此方法修改默认安全设置后存在这样一种可能性:加入到选定域的计算机可能会被恶意用户操作,并能够通过服务主体名称属性用一个不同的名称公布其自身。

这篇文章中的信息适用于:
Microsoft Windows 2000 Server
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Professional Edition

发表评论:

    昵称:
    密码: (游客无须输入密码)
    主页:
    标题:
 
 
Powered by Oblog.