如何将Windows Server 2012 r2 DNS服务器configuration从一台服务器克隆到另一台服务器?

我试图从一个“公司”的DNS服务器的所有configuration设置导出到我的本地DNS服务器(两个系统使用Windows Server 2012 R2)进行testing,我不确定如何做到这一点。 我探讨了dnscmddnscmd /exportsettings (所有这些都将服务器configuration信息写入文本文件),但没有find解决scheme的运气。

我也尝试使用备份( http://c-nergy.be/blog/?p=1837 )和恢复脚本( http://c-nergy.be/blog/?p=1858 ),但只有这些脚本备份/恢复区域文件,而不是其他configuration设置,例如条件转发器等。

解决我的问题最好的办法是什么?

先谢谢你。

区域信息和DNS服务器设置在不同的地方。

  • 非AD集成的DNS服务器将其区域存储为%windir%\system32\dns .dns文件。 复制除cache.dns之外的这些文件,只包含caching的DNS查找。

    使用AD集成的DNS服务器,信息位于AD内, dns.exe在启动时执行许多LDAP请求来收集这些数据。 可以像使用dnscmd /ZoneExport FQDN_of_zonename Zone_export_file一样提取Active Directory集成的区域文件 。

  • 设置存储在registry中。 当不涉及AD时,事情很简单,因为您只需使用regedit /e导出设置,然后双击目标服务器上的.reg文件即可导入。 使用AD集成安装,您可能需要在导入之前手动检查一些值。 但是,以下是一些registry位置,您可以在其中find您的服务器设置:

    • HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\DNS Server\Zones (以前称为HKLM\System\CurrentControlSet\Services\DNS\Zones )是registry中与区域文件相关的位置:服务器有哪些区域,它们的设置是什么和他们应该从哪里获得。 使用dnscmd /zoneinfo可以获得相同的信息。

    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters是服务器级设置的位置。 这与dnscmd /info可以获得的dnscmd /info

    • 其他DNSregistry项不直接与DNS服务器关联。