在某个时间点(我不知道什么时候...),Windows 2003 Server 上的 DNS 会被 Active Directory 上的所有计算机填充。
有什么办法可以重新填充它?例如,当更改计算机上的 IP 时,如何更新 DNS 记录?删除计算机时,如何将其从 DNS 服务器中删除?
当然,一种方法是手动完成,但是有一种自动化的方法(比如命令行或菜单选项)?
编辑:Robert Moir,我想做的事情:
- 清理不存在的旧计算机的 DNS 条目(死机或/和活动目录已删除)。
- 某些计算机具有固定的(不是 DHCP)IP 地址(在我们的例子中,我们的计算机在另一栋建筑物上,由于网络提供商的原因,DHCP 在那里无法正常工作,所有建筑物都与 VPN 连接)。如果我们将 DHCP 计算机移动到另一个需要固定 IP 的 LAN,如何不手动更新 DNS?
这应该会自动发生(对于您域上的 Windows 机器,只要在 dns 选项卡下选中“在 dns 中注册此连接的地址”)。如果您手动更改 IP 或它通过 DHCP 接收新 IP,这应该是自动的。您可以将它们全部从 DNS 中删除,它们最终会全部显示出来。
如前所述, ipconfig /registerdns 将强制注册,但是您关于“对于掉落和死亡的计算机”不起作用的评论令人困惑。如果机器断网或断电,则无法注册其地址。如果可能,请提供更多信息。
Active Directory 信息不用于填充 DNS,因为它们是两种不同的东西,做两种不同的工作,即使 DNS 数据保存在 AD 中。
为了简单地整理旧的 DNS 条目,您可能应该看看这个以及其他人关于让 DHCP 更新 DNS 记录的评论。
好的 DHCP 和 Windows 客户端上的网络系统应在其 IP 地址更改时更新它们。如果这没有发生,请检查 DHCP 服务器上的设置。如果客户端不这样做,您可以强制将更改传递给 DNS 服务器本身。
如果您已经手动更改的具有静态地址的设备没有发生这种情况,那么 ipconfig /registerDNS 将按照已经建议的方式执行此操作。我知道您说过您不想要手动解决方案,但如果有人已经坐在那里手动更新 IP 地址,那么出于这个目的,可能更容易做出例外处理。
DNS 服务器上记录的老化和清理应确保“crud”最终被清除。
我认为不会有一个答案,您只需在服务器上勾选一个框,所有这些都会自动发生而没有任何障碍,因为您在这里真的在谈论一些不同的事情。
IPCONFIG /registerdns
将“尝试”在与 NIC 关联的 DNS 服务器中注册您正在运行此命令的机器的 A 和 PTR 记录。
Microsoft DHCP 服务器可以选择在 DHCP 租约更改时更新 DNS 记录。这可能就是您正在寻找的。
从 DC 运行的nltest /dsregdns将告诉 DC 注册它的记录。/dsderegdns 将告诉 DC 取消注册它的记录。如果 DC 已死,则无法运行“nltest”,因此似乎没有实用程序可以从 DNS 中清除死 DC 的记录...
DC 的记录比使用 ipconfig /registerdns 注册的记录要多得多。DC 注册了许多服务位置记录(SRV 记录),例如名称以 _ldap 和 _kerberos 开头的记录。
在我不得不删除并重新创建 DNS 区域(强调我的)后,我在事件日志中收到以下消息:
我已经
nltest.exe /dsregdns
在这里尝试了另一个答案中的建议,但这对我不起作用。但是,重新启动 Netlogon 服务后,所有与 Active Directory 相关的 DNS 条目都恢复了。我只需要手动重新创建静态机器条目。