首先我要声明,我绝不是一个受过训练的系统管理员,而是一个边学边做的人。如果我的问题答案很明显,我深表歉意,但我无法通过 Google/Serverfault 搜索找到确切答案。
所以我负责管理我工作的地方大约 200 台 Windows 计算机,我最近了解到这个活动目录可以轻松在所有计算机上进行更改,这真是太棒了。所以我设置了域控制器并找到一个.vbs脚本将计算机加入域。完美。
只是我设置的 GPO 并未推送到计算机上。我尝试在计算机上运行“gpupdate /force”,结果显示以下错误
组策略处理失败。Windows 尝试检索此用户或计算机的新组策略设置。在详细信息选项卡中查找错误代码和描述。Windows 将在下一个刷新周期自动重试此操作。加入域的计算机必须具有正确的名称解析和与域控制器的网络连接才能发现新的组策略对象和设置。组策略成功时将记录事件。
用户策略更新已成功完成。
要诊断故障,请查看事件日志或从命令行运行 GPRESULT /H GPReport.html 以访问有关组策略结果的信息。
我又查看了一下,似乎当我将客户端的 DNS 指向域控制器时,更新就会通过(运行 nsloookup {domain.com} 返回非权威答案)。现在,在 AD 中将 DNS 指向 DC 可能是强制性的。但我从未在找到的任何教程中看到过这一点,这真的很奇怪。那么这真的是必需的吗?(这是我发现的最接近的答案这似乎意味着是的,但真的没有其他办法了吗?难道我不能给 nslookup 返回一个权威答案吗?
如果需要的话,有什么方法可以更新域中所有计算机的 DNS,而无需实际访问每台计算机?
这也引发了另一个问题。如果我出于某种原因必须更改 DC 的当前 IP,该怎么办?我是否需要在每台计算机上再次更新 DNS?
感谢您的时间并期待您的建议。
答案1
我最喜欢的一句话是“DNS就是答案,问题并不重要”。
组策略存储在 FQDN\Sysvol\FQDN\Policies 文件夹中 - 如果您无法从 DNS 解决方案解析您的 FQDN,则 GPO 处理将失败。
Active Directory 域需要 DNS,但不需要有成为 AD 集成 DNS(在域控制器上安装 DNS 服务器角色),但管理起来更容易。如果这样做,您可以将所有域计算机指向 DNS 的域控制器,然后就大功告成了。
域控制器应该有一个静态 IP,这是最佳实践,通常所有服务器由于其在线服务请求的性质,都使用静态 IP。考虑到这一点,IP 不应该改变。如果 IP 确实发生了变化,有大量脚本可用于以编程方式更改成员计算机 DNS 服务器 IP,请进行搜索。
计算机加入 vbs 脚本如何工作?它需要 DNS 来解析要加入的域名。如果脚本有效,则计算机已经指向指向域的 DNS 服务器,并且组策略处理应该没问题。警告:由于 Microsoft 的天才决定采用“离线域加入”来减少错误的出现,您可能会在没有实际加入的情况下获得“成功”加入。测试此操作的最佳方法是使用实际域帐户登录。如果您收到类似“域无法访问”的错误,则您可能仍然有 DNS 问题。
答案2
对于“您是否需要指向域控制器的 DNS 才能使 GPO 正常工作”的简短回答是肯定的。spacenomyous 在那里有答案。
我猜想,如果您不熟悉 AD 和 DNS,那么您可能也不熟悉 DHCP,DHCP 会动态地向客户端授予 IP 地址和相关设置。您可以将该角色添加到 DC(或其他服务器),然后指示您的客户端使用 DHCP 来更新网络设置,包括 DNS 条目,使它们全部指向内部 DNS。
如果您必须在每台计算机上设置它们,那么您应该学习一些 Powershell 脚本来实现自动化。如果您可以编写 .vbs 脚本,那么您可以查看以下链接以了解如何更新客户端:
https://www.pdq.com/blog/using-powershell-to-set-static-and-dhcp-ip-addresses-part-1/