将 200 个域从 Win2003 DNS 服务器迁移到另一个

将 200 个域从 Win2003 DNS 服务器迁移到另一个

我们正在将近 200 个域从另一个位置的 DNS 服务器(我们有远程桌面访问权限)迁移到我们位置的服务器。有没有一种简单的脚本方式可以一次性完成所有区域传输?每台服务器都是 Windows 2003,域是 Internet 域,而不是 Active Directory 内容。

答案1

哇!听起来很有趣。

您可以使用 Windows 支持工具中的 DNSCMD 实用程序枚举区域,然后使用 /ZoneExport 参数导出区域,然后使用 /ZoneAdd 参数导入区域。这个脚本应该还不错。

导出有点奇怪,因为它导出到托管区域的服务器上的 %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 服务器,但语法应该非常接近。我测试了除“ZoneAdd”之外的所有内容。

答案2

不知道是否有脚本可以执行此操作,但将 DNS 区域移动到另一台服务器的一个简单方法是将新服务器设为各个区域的辅助服务器,然后在信息传输完成后将其设为主服务器。这很好,而且是“跨平台的”,因此无论如何都能保证正常工作。

查看 dnscmd.exe 在命令行上执行此操作,以便您可以编写脚本创建辅助服务器。

答案3

您需要将 %SystemRoot%\System32\DNS 文件夹从源 DNS 服务器复制到目标服务器,然后导出/导入几个注册表项

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DNS\Zones HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\DNS 服务器\Zones

简单地复制 DNS 文件夹是行不通的,至少对于目标 w2k8 DNS 服务器来说是这样。+

您可以从此 MS KB 中查看所有流程

如何将 Windows 2000 DNS 区域移动到另一个基于 Windows 2000 的服务器

相关内容