図1 ドメイン・コントローラの情報を全パートナーの全ドメイン・コントローラに複製した画面
図1 ドメイン・コントローラの情報を全パートナーの全ドメイン・コントローラに複製した画面
[画像のクリックで拡大表示]
図2 サイトのDC名を併せて表示しながら全パートナーDCに複製を実行した画面
図2 サイトのDC名を併せて表示しながら全パートナーDCに複製を実行した画面
[画像のクリックで拡大表示]
図3 すべてのパーティションを同時に全パートナーDCに複製した画面
図3 すべてのパーティションを同時に全パートナーDCに複製した画面
[画像のクリックで拡大表示]

repadmin /syncall DC名 /P /e DC=example,DC=com

 repadmin /replicateやrepadmin /replsingleobjといったサブコマンドでは,特定のドメイン・コントローラ(DC)間での複製を実行します。ところが,あるドメイン・コントローラを起点にすべてのドメイン・コントローラ上で複製を実行したいことがあります。このようなときには「repadmin /syncall」サブコマンドを使うのが便利です。

 「repadmin /syncall」サブコマンドは,指定したドメイン・コントローラがすべての複製パートナーから複製を実行します。通常のActive Directory複製はプル複製(他のドメイン・コントローラから自分が複製を実行する)で動作するからです。

 ところが,/Pオプションを使って「repadmin /syncall」サブコマンドを実行すると「プッシュ複製を設定する」ことができます。プッシュ複製は,自分自身の変更を他のドメイン・コントローラが複製してくれる,という動作になります。しくみとしては,「自分の情報変更を他のドメイン・コントローラに通知することで,通知を受けたドメイン・コントローラがプル複製する」という動作が発生しています。

 また,デフォルトではサイト内の複製だけを実行しますが,/eオプションを使うとサイト間をまたいだ複製も実行します。このため,以下のように/Pオプションと組み合わせることで,結果的にネットワーク上にあるすべてのドメイン・コントローラに自分の変更を複製させることが可能となります(図1)。なお,サイト構成上すぐに複製されない場合,伏瀬済みのDCで同じコマンドを実行します。

repadmin /syncall DC名 /P /e DC=example,DC=com

 上のコマンドを実行すると,図1のに示したとおりGUID DNS名で複製の状況が確認できます。GUIDはわかりづらいので,以下のように/dオプションを付けて実行することでサイトのDC名が表示するとわかりやすくなります(図2)。ただし,この表示のために名前解決の処理を実行しているため,実行スピードが遅くなる点には注意してください。

repadmin /syncall DC名 /P /e /d DC=example,DC=com

 また,すべてのパーティションを同時に複製させたい場合は,以下のように/Aオプションを使います(図3)。こうすることでパーティションのDN名を指定する必要がありません。ちなみに/AオプションもパーティションのDN名も指定しない場合は,CN=Configuration,フォレストルートDN名を指定します。なお,repadmin /syncallではオプションの大文字小文字を区別するので,間違えないように注意してください。

repadmin /syncall DC名 /P /e /A