Windows 2008 DNS导出所有logging

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

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

我已经使用这个步骤: Windows DNS导出

我没有很多区域,但每个区域都有很多registry。


更新(解决scheme说明)


出口

  1. 出于自身安全导出所有区域:

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

  2. 导出registrylogging:

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

    要么

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

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

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

input

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

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

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

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

查看PowerShell的DNSShell插件。