Windows 2008 DNS 导出所有 A 记录

Windows 2008 DNS 导出所有 A 记录

我知道 dnscmd /enumrecords,但是我想要做的是从该服务器上的每个区域导出所有记录。

我希望有一个简单的递归函数可以做到这一点。我们的服务器上有 100 个 DNS 区域,所以我不会手动为所有区域运行“dnscmd /enumrecords”。

答案1

我已使用以下步骤:Windows DNS 导出导入

我没有很多区域,但每个区域都有相当多的注册表。


更新(解决方案解释)


出口

  1. 为了您自己的安全,请导出所有区域:

    C:\> dnscmd servername /enumrecords zonename @ /type A /detail > c:\filename.txt

  2. 导出注册表记录:

    运行 REGEDIT 并导航到:(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\DNS Server\Zones
    右键单击键 ZONES 并导出到 .reg 文件)。

    或者

    C:\> regedit /e c:\dns.reg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\DNS Server"

  3. 复制*.dns自:%windir%\system32\dns

  4. 将所有文件传输到新(目标)服务器

输入

  1. 创建一个测试区域,例如 testdomain.com。DNS 服务器需要创建一个区域,但您可以在导入后将其删除。

  2. *.dns文件复制%windir%\system32\dns到新服务器

  3. 双击.reg您创建的文件,将所有区域加载到新服务器的注册表中
    对于 Windows 2008:右键单击注册表文件并以管理员身份运行

  4. 重新启动 DNS 服务器服务

答案2

查看DNSShellPowerShell 插件。

相关内容