我有一个使用 LOGONSERVER 环境变量的登录脚本。我有几个远程办公室。每个办公室都有一个文件服务器/DC,每个办公室都是自己的站点。因此,当用户登录办公室时,他们应该向该域控制器进行身份验证。
我发现的问题是,办公室中的某些计算机(并非全部)有时会使用来自另一个办公室的随机 DC 进行身份验证,但有时却没有问题。例如,一个人登录到办公室 16,他应该使用 SERVER16 进行身份验证,但他却使用 SERVER13 进行了身份验证。当我在他的计算机上检查事件查看器时,我可以看到时间与正确的服务器(SERVER16)同步,但他的驱动器映射到 SERVER13,并且当从命令提示符运行 set 时,它会将他的 LOGONSERVER 显示为 SERVER13。
那么,计算机如何才能与其站点的正确 DC 同步时间,但仍与不同站点的服务器进行身份验证?我已检查 AD 站点和服务以及 DNS。每个站点只有一个 DC,即正确的 DC,并且每个站点的 DNS 站点记录都是正确的。从所有逻辑上讲,没有理由发生这种情况,除非我遗漏了什么。此外,我们正在运行混合的 2003/2008 Windows 环境,服务器的平台是什么并不重要。
答案1
这实际上比您想象的更常见。检查以下内容以查看是否有帮助:
答案2
我们发现这种情况有几个不同的原因:
- 客户端上的 DNS/WINS 设置不正确。确保它们没有不在本地网络上的辅助 DNS/WINS 服务器。
- 确保在 AD 站点和服务中将跨链接的成本设置为高于默认值。如果不是,并且本地 DC 很忙,则远程 DC 可能会更快地做出响应,因为跨链接的成本设置得足够低,以至于认为它应该作为最近的 DC 做出响应。