概要
对于作为域成员的每一台 Windows 2000 或 Windows XP 工作站或服务器,它们都与域控制器有一个离散的通信通道,该通道称为安全通道。
安全通道的密码和计算机的帐户一起存储在所有域控制器上。对于 Windows 2000 或 Windows XP,默认计算机帐户密码的更换周期为 30 天。如果因某种原因导致计算机帐户的密码和 LSA 机密不同步,Netlogon 服务就会记录下面一条或两条错误消息:从计算机 DOMAINMEMBER 设置的会话无法验证。安全数据库中引用的帐户名称是 DOMAINMEMBER$。发生下列错误:访问被拒绝。
NETLOGON 事件 ID 3210:
无法用域 DOMAIN 的 Windows NT 域控制器 \\DOMAINDC 进行验证。当密码不同步时,域控制器上的 Netlogon 服务将记录以下错误消息:
NETLOGON 事件 5722:
从计算机 %1 设置的会话无法验证。安全数据库中引用的帐户名称是 %2。发生下列错误:%n%3本文介绍了在 Windows 2000 或 Windows XP 中重置计算机帐户的四种方法,它们是:
-
使用 Netdom.exe 命令行工具
-
使用 Nltest.exe 命令行工具
注意:Netdom.exe 和 Nltest.exe 工具位于 Windows Server CD-ROM 上的 Support\Tools 文件夹中。要安装这两个工具,请运行 Setup.exe 或从 Support.cab 文件中提取文件。 -
使用“Active Directory 用户和计算机”Microsoft 管理控制台 (MMC)。
-
使用 Microsoft Visual Basic 脚本
这些工具允许远程和非远程管理。Netdom.exe 和 Nltest.exe 都是命令行工具,用来重置成功建立的安全通道。如果安全通道已断开并且通信不能正常工作,则不能使用这些工具。
更多信息
Netdom.exe
每个成员都与域控制器有一个离散的通信通道(安全通道)。安全通道由成员及域控制器上的 Netlogon 服务用来进行通信。使用 Netdom 可以重置成员的安全通道。可通过以下命令重置成员安全通道:
netdom reset 'machinename' /domain:'domainname
其中,“machinename”是本地计算机名称,“domainname”是存储计算机/计算机帐户的域。 假定您在 MYDOMAIN 域中有一个名为 DOMAINMEMBER 的域成员。可通过以下命令重置成员安全通道:netdom reset domainmember /domain:mydomain
可在成员 DOMAINMEMBER、域的任何其他成员或域控制器上运行该命令,前提是必须以具有 DOMAINMEMBER 的管理员访问权限的帐户登录。Nltest.exe
Nltest.exe 可用于测试运行 Windows 2000 或 Windows XP 的计算机(为域成员)和存储计算机帐户的域控制器之间的信任关系。
C:\Ntreskit\Nltest.exe
用法:nltest [/OPTIONS] /SC_QUERY:DomainName - 查询 ServerName 上的 domain 的安全通道 /SERVER:ServerName /SC_VERIFY:DomainName - 验证为本地或远程工作站、服务器或域控制器指定的域中的安全通道。 标志:30 HAS_IP HAS_TIMESERV 受信任的 DC 名称 \\server.windows2000.com 受信任的 DC 连接状态 Status = 0 0x0 NERR_Success 命令已成功完成Active Directory 用户和计算机 (DSA)
在 Windows 2000 或 Windows XP 中,您还可以在图形用户界面 (GUI) 中重置计算机帐户。在“Active Directory 用户和计算机”MMC (DSA) 中,可右键单击“计算机”或适当容器中的计算机对象,然后单击重置帐户。这将重置计算机帐户。不允许通过这种方法重置域控制器的密码。重置一台计算机的帐户将断开该计算机与域的连接并且需要该计算机重新加入域。
注意:这样做可防止已建立的计算机连接到域,并将只能用于刚刚重建的计算机。Microsoft Visual Basic 脚本
可使用脚本来重置计算机帐户。您需要通过 IADsUser 接口连接到计算机帐户。然后就可以使用 SetPassword 方法将密码设置为某个初始值。计算机的初始密码总是“computername$”。
以下脚本示例并非在所有环境中都适用,在实施之前应进行测试。第一个示例用于 Windows NT 4.0 计算机帐户,第二个用于 Windows 2000 或 Windows XP 计算机帐户。示例 1
Dim objComputer
Set objComputer = GetObject("WinNT://WINDOWS2000/computername$") objComputer.SetPassword "computername$" Wscript.Quit
示例 2
Dim objComputer
Set objComputer = GetObject("LDAP://CN=computername,DC=WINDOWS2000,DC=COM") objComputer.SetPassword "computername$" Wscript.Quit