我们正在将位于另一位置(我们有远程桌面访问)的DNS服务器的200个域名迁移到位于我们位置的服务器。 是否有一个简单的,脚本的方式一次做所有的区域传输? 每个服务器是Windows 2003,域是互联网域,而不是活动目录的东西。
ZOW! 听起来很有趣。
您可以使用Windows支持工具中的DNSCMD实用程序来枚举区域,然后使用/ ZoneExport参数导出区域,然后使用/ ZoneAdd参数导入它们。 脚本不应该太糟糕。
导出有点古怪,因为它导出到托pipe区域的服务器上的%windir%\ system32 \ dns目录。
@echo off set SRC=source-server set DST=destination-server for /f "usebackq delims= " %%i in (`dnscmd %SRC% /EnumZones ^| find "Primary"`) do call :DOZONE %%i goto end :DOZONE dnscmd %SRC% /ZoneExport %1 %1.dns dnscmd %DST% /ZoneAdd %1 /Primary /file \\%SRC%\C$\Windows\System32\DNS\%1.dns :end
无可否认,我手边没有一个临时的DNS服务器,但是语法应该非常接近。 我testing了一切,但“ZoneAdd”。
不知道是否有一个脚本来做到这一点,但是将DNS区域移动到另一台服务器的一个很好的简单方法是使新服务器成为各个区域的辅助区域,然后在将信息传输到另一个区域时使其成为主要区域。 这是很好的,“跨平台”,因此无论如何保证几乎工作。
查看dnscmd.exe在命令行执行此操作,以便您可以创build辅助脚本。
您需要将来自源DNS服务器的%SystemRoot%\ System32 \ DNS文件夹复制到dstination并导出/导入一对registry项
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ DNS \ Zones HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows NT \ CurrentVersion \ DNS Server \ Zones
简单地复制DNS文件夹将不起作用,至less这是我的目标w2k8 DNS服务器的情况
您可以从此MS KB中看到过程
如何将Windows 2000 DNS区域移到另一个基于Windows 2000的服务器