將 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 Server\Zones

簡單地複製 DNS 資料夾是行不通的,至少對於目標 w2k8 DNS 伺服器來說是這樣。

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

如何將 Windows 2000 DNS 區域移至另一台基於 Windows 2000 的伺服器

相關內容