我正在尝试将所有配置设置从“公司”DNS 服务器导出到我的本地 DNS 服务器(两个系统都使用 Windows Server 2012 r2)进行测试,但我不确定如何执行此操作。我探索了dnscmd
(dnscmd /exportsettings
所有这些都将服务器配置信息写入文本文件),但找不到解决方案。
我也尝试过使用备份(http://c-nergy.be/blog/?p=1837)和恢复脚本(http://c-nergy.be/blog/?p=1858),但这些脚本只备份/恢复区域文件,而不备份/恢复其他配置设置,如条件转发器等。
解决我的问题的最佳方法是什么?
先感谢您。
答案1
区域信息和 DNS 服务器设置位于不同的地方。
非 AD 集成 DNS 服务器存储其区域作为
.dns
中的文件%windir%\system32\dns
。除了 之外cache.dns
,复制仅包含缓存的 DNS 查找的文件。使用 AD 集成的 DNS 服务器,信息位于 AD 内,并
dns.exe
在启动时执行许多 LDAP 请求来收集这些数据。可以提取 Active Directory 集成区域文件使用dnscmd /ZoneExport FQDN_of_zonename Zone_export_file
,就像您所做的那样。设置存储在注册表中。不涉及 AD 时,事情就简单多了,因为您只需使用 导出设置,
regedit /e
然后双击.reg
目标服务器上的文件即可导入。使用 AD 集成安装时,您可能需要在导入之前手动检查一些值。但是,以下是一些注册表位置,您可以在其中找到服务器设置:HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\DNS Server\Zones
(以前称为HKLM\System\CurrentControlSet\Services\DNS\Zones
)是注册表中与区域文件相关的位置:服务器有哪些区域、它们的设置是什么以及应从何处获取它们。可以使用dnscmd /zoneinfo
。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters
是服务器级别设置的位置。它与使用以下命令获取的信息相同dnscmd /info
。另一个DNS 注册表项与 DNS 服务器没有直接关联。