我遇到了一个以前见过但尚未找到解决方案的问题,我在一个域中拥有多个 AD 站点,它们在物理上被不同的子网和 AD 站点分开,在逻辑上被不同的子网和 AD 站点分开。
当用户帐户在某个站点处于禁用状态后被启用,然后尝试登录工作站(在该站点)时,他们会收到一条登录消息,提示其帐户仍然被禁用。
当检查所有 DC 时,本地 DC 表明用户已启用,但由于尚未进行复制,所有其他 DC 仍处于禁用状态。使用已启用的用户输入错误密码进行测试表明,错误密码事件正在针对本地 DC 以及域的主 DC(但不在用户站点)发生,我尚未能够在 Win2k8 中找到错误密码尝试的正确事件 ID,因此我还不能告知错误密码请求来自哪个 DC。
所有子网均正确,本地 DC 上的 %systemroot\debug\netlogon.log 中没有错误,服务器返回其在正确的站点,工作站返回其在正确的站点,其登录服务器是本地 DC,所有 DFS 路径都返回到本地 DFS 主机,登录后我看不到任何到其他 DC 的流量。对域名执行 ping 操作也会解析到本地 DC。我们还将 DNS 设置为仅指向本地 DC。
有人知道为什么此设置需要本地 DC 以外的 DC 来解锁帐户吗?用户希望立即使用他们的帐户,因此解决这个问题非常有帮助。
Win 7 客户端、Win 2k8 r2 服务器、多 AD 站点配置中的 2003 功能域
答案1
所以问题是,您认为身份验证过程首先联系远程 DC,即使有一个启用了该帐户的本地 DC。
我怀疑这里发生的事情比观察到的要多。
您可以采取以下措施来收集更多信息:
-在工作站上启用 Netlogon 调试日志记录:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters]
"DBFlag"=dword:24401F04
"MaximumLogFileSize"=dword:3200000
这会在 C:\Windows\debug\netlogon.log 中创建一个非常详细的日志,其中包含身份验证和站点/DC 定位器过程中发生的大多数活动和决策。
- 在可以重现症状的工作站上执行测试,工作站重新启动后即可执行。
-使用计划任务设置 NetMon 数据包捕获,在工作站启动时在计算机上运行。将任务配置为以最高权限作为 SYSTEM 运行。命令如下:
cd /d "C:\Program Files\Microsoft Network Monitor 3"
nmcap /network * /capture /DisableConversations /file c:\temp\test.cap:20M /StopWhen /TimeAfter 5 min /MinDiskQuota 100M
等待捕获在五分钟后正常结束,然后再尝试使用它。登录测试需要在重新启动后五分钟内完成。
这应该能让您确认本地 DC 根本没有被联系。如果涉及远程 DC,则可能会有其他信息来确定原因。
如果身份验证过程在最近重新启动的工作站上成功,但在身份验证最近失败的工作站上失败,那么这将是有用的信息。