200ドメインをWin2003 DNSサーバーから別のサーバーに移行する

200ドメインをWin2003 DNSサーバーから別のサーバーに移行する

私たちは、別の場所にある DNS サーバー (リモート デスクトップ アクセスあり) から私たちの場所にあるサーバーに 200 個弱のドメインを移行しています。すべてのゾーン転送を一度に実行する簡単なスクリプト化の方法はありますか? 各サーバーは Windows 2003 で、ドメインは 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 サーバーが 1 台か 2 台あるわけではありませんが、構文はかなり近いはずです。「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 ベースのサーバーに移動する方法

関連情報