本文介绍如何诊断并解决域控制器的系统日志中出现事件 5722 的问题。
适用于: Windows 2000
原始 KB 数: 810977
注意
本文适用于 Windows 2000。 对 Windows 2000 的支持将于 2010 年 7 月 13 日结束。 有关详细信息,请参阅 Microsoft 支持生命周期策略。
总结
使用事件查看器在 Windows 域控制器中查看系统日志时,可能会发现记录了事件 5722。 此问题可能发生在以下两种方案中之一:
- 当计算机使用域控制器更新其计算机帐户密码时
- 将计算机加入具有已存在名称的域时
本文介绍如何区分这两种方案以及如何解决问题。
现象
在Microsoft Windows 域控制器上,系统日志中记录了以下事件:
事件类型:错误
事件源:NETLOGON
事件类别: 无
事件 ID:5722
日期: 日期
时间: 时间
用户:无
计算机: ComputerName
说明:计算机 ComputerName 中的会话设置无法进行身份验证。 安全数据库中引用的帐户的名称为 AccountName $。
发生以下错误:
拒绝访问。
原因
在从 Windows 2000 开始的Microsoft Windows 域中,离散通信通道有助于在域控制器与成员服务器或工作站之间提供更安全的通信路径。 此通道称为 安全通道。 将计算机加入域时,将创建计算机帐户,并在计算机和域之间共享密码。 默认情况下,此密码每 30 天更改一次。 安全通道的密码与主域控制器(PDC)上的计算机帐户一起存储。 密码将复制到所有副本域控制器。
在以下方案中记录事件 5722:
当计算机使用域控制器更新其计算机帐户密码时,该事件将记录在身份验证域控制器的系统日志中。
在此方案中,使用身份验证域控制器的计算机的安全通道仍然有效。
使用其他计算机已在使用的名称或重置现有计算机帐户时,将计算机加入域。 可以使用Active Directory 用户和计算机或使用 Netdom.exe 实用工具重置现有计算机帐户。
在此方案中,计算机的帐户密码与域控制器上的密码不匹配,并且无法将原始计算机的安全通道设置为域控制器。
解决方法
警告
如果使用 ADSI 编辑管理单元、LDP 实用工具或任何其他 LDAP 版本 3 客户端,并且错误地修改 Active Directory 对象的属性,则可能会导致严重问题。 这些问题可能需要你重新安装 Microsoft Windows 2000 Server、Microsoft Windows Server 2003、Microsoft Exchange 2000 Server、Microsoft Exchange Server 2003 或 Windows 和 Exchange。 Microsoft无法保证如果错误地修改 Active Directory 对象属性,则会发生的问题可以解决。 自行修改这些属性。
若要解决此问题,请先确定哪个方案是问题的原因。 可以按照以下步骤操作:
记下在系统日志中记录事件的日期和时间。
单击“开始”,指向“程序”,指向“资源工具包”,然后单击“工具管理控制台”。
在控制台树中,单击“ 工具 A 到 Z”。
在详细信息窗格中,单击 ADSI 编辑器。
注意
WINDOWS 支持工具中包括 ADSI 编辑。 可以从 Windows 2000 Server CD-ROM 的 Support\Tools 文件夹中安装 Windows 支持工具。
若要在运行 Windows Server® 2003 或 Windows® XP 操作系统的计算机上安装 ADSI 编辑,请从 Windows Server 2003 产品 CD 安装 Windows Server 2003 支持工具。 有关如何从产品 CD 安装 Windows 支持工具的详细信息,请参阅 安装 Windows 支持工具。
在运行 Windows Server 2008 或 Windows Server 2008 R2 的服务器上,当你安装 Active Directory 域服务 (AD DS) 角色以使服务器成为域控制器时,会安装 ADSI Edit。 还可以在域成员服务器或独立服务器上安装 Windows Server 2008 远程服务器管理工具(RSAT)。 有关特定说明,请参阅 安装或删除远程服务器管理工具包。
若要在运行具有 Service Pack 1(SP1)或 Windows 7 的 Windows Vista® 的计算机上安装 ADSI 编辑,必须安装 RSAT。
在 ADSI 编辑中,找到并右键单击导致问题的计算机。
单击 “属性”。
在“选择要查看的属性”中,单击“两者”。
在 “选择要查看的属性”中,单击 “PwdLastSet”。
如果未在
ntte
UI 中将该值转换为可读的日期和时间时间戳,请运行以下命令或继续执行步骤 9 以获取备用方法:w32tm /ntte pwdlastsetvalue
将“值”框中显示的值复制到剪贴板。
单击“开始”,指向“程序”,指向“附件”,然后单击“计算器”。
在 “视图 ”菜单上,单击“ 科学”。
单击“十二进制”将编号系统设置为十进制。
将剪贴板中的值粘贴到计算器中。
若要将值从十进制更改为十六进制十进制数字系统,请单击 十六进制。
在“编辑”菜单上,单击“复制”。
将剪贴板中的十六进制数字粘贴到记事本中的文件。
从十六进制字符串的最右侧字符计算八个字符,然后按空格键。
注意
此操作将十六进制字符串拆分为两个十六进制字符串。
如果左侧的十六进制字符串仅包含七个字符,请将零添加到字符串的开头。
在命令提示符下,键入
Nltest /time: RightSideHexadecimalstringLeftSideHexadecimalString
你将收到类似于以下内容的输出:
C:\>nltest /time:a25cc370 01c294bc a25cc370 01c294bc = 11/25/2002 13:55:41 The command completed successfully.
记下解码的日期和时间。
检查在步骤 1 中记录的日期和时间以及步骤 20 中记录的解码日期和时间是否匹配。
如果记录了事件 5722 的日期和时间以及解码的日期和时间匹配,请在命令提示符处键入以下命令,检查导致该问题的计算机是否具有与域控制器建立的安全通道:
Nltest /server: **ComputerName** /sc_query: **DomainName**
如果问题计算机具有使用域控制器建立的有效安全通道,则会收到类似于以下内容的输出:
C:\>Nltest /server:computer1 /sc_query: DomainName Flags: 30 HAS_IP HAS_TIMESERV Trusted DC Name \\homenode1.myhouse.com Trusted DC Connection Status Status = 0 0x0 NERR_Success The command completed successfully.
如果问题计算机没有使用域控制器建立的有效安全通道,则会收到类似于以下内容的输出:
C:\>nltest /server:machine1 /sc_query: DomainName Flags: 0 Trusted DC Name Trusted DC Connection Status Status = 5 0x5 ERROR_ACCESS_DENIED The command completed successfully.
如果事件 5722 的日期和时间与解码的日期和时间不匹配,则问题计算机的帐户密码可能与域控制器上的密码不匹配。 在以下任一情况下,可能会出现此问题:
- 管理员使用Active Directory 用户和计算机或其他工具(例如Netdom.exe)重置计算机帐户。
- 使用域中已存在的名称将新计算机加入域。
注意
如果为域控制器启用了 Netlogon 服务日志记录,请通过检查类似于以下内容的Netlogon.log条目来确认此方案:
05/06 13:35:25 [MISC] NlMainLoop:通知添加了信任帐户(或更改)TRUSTING_DOMAIN$ 0x##### 4
如果计算机更新自己的计算机帐户密码,则不会记录此消息。
若要解决与重复计算机名称相关的问题,请重新加入原始计算机到域。
如果满足以下两个条件,则可以忽略事件 5722:
- 如果事件 5722 的日期和时间与解码的日期和时间匹配。
- 在问题计算机和域控制器之间建立有效的安全通道。
注意
当这两个条件都为 true 时,当计算机尝试在计算机帐户更新过程中使用域控制器进行身份验证时,事件 5722 将记录在域控制器上。
管理员还可以使用Ldp.exe从域中的任何计算机查询 Active Directory 信息。 Windows XP Service Pack 2 支持工具中包含的Ldp.exe版本也可用于解码 PwdLastSet 值。
参考
有关启用调试日志记录的其他信息,请单击以下文章编号以查看Microsoft知识库中的文章: