インフラエンジニアも人間じゃない?

インフラエンジニアの備忘録

マルチサイト構成のActive Directoryを一括レプリケーションする方法

ADで複数のサイトがあると全てのDCにレプリケーションが走るまで結構時間が掛かります。
ActiveDirectoryサイトとサービスからGUIで同期を掛けることもできますが、
そんなチマチマした作業をやるのは旧石器時代までにしましょう。
コマンド1行で1秒(体感)でレプリケーションできます。


基本的には、同期元(ソース)のサーバで下記のコマンドを使用します。

repadmin /syncall /A /e /P

いちいち / を打つのが面倒な方はこれで覚えておけばいいかと思います。

repadmin /syncall /AeP

repadmin /syncallについてですが、軽く調べてもオプションについて詳しく書いておらず、
コマンドのヘルプにそれなりに説明があったためこちらに記載しておきます。
(環境は2012R2のもの。)

C:\Windows\system32>repadmin /syncall /?
DsReplicaSyncAll コマンド ラインのインターフェイスです。
repadmin /SyncAll [/adehijpPsS] <宛先 DSA> [<名前付けコンテキスト>]
    /a: サーバーのいずれかが利用不可能な場合は中止する
    /A: <宛先 DSA> の NC すべてについて /SyncAll を実行する
        (<名前付けコンテキスト> を無視する)
    /d: (GUID DNS ではなく) メッセージの DN でサーバーを識別する
    /e: エンタープライズ、クロス サイト (既定: ホーム サイトのみ)
    /h: このヘルプ画面を表示する
    /i: 無限に繰り返す
    /I: サーバーのペアそれぞれについて、同期する代わりに showreps を実行する
    /j: 隣接したサーバーのみ同期する
    /p: メッセージの後にユーザーによる中止に備えて一時停止する
    /P: 変更をホーム サーバーから外へプッシュする (既定: プル)
    /q: 無人モード: コールバック メッセージを表示しない
    /Q: 無人モード: 致命的なエラーのみ表示する
    /s: 同期しない (トポロジを解析してメッセージを生成)
    /S: 初めのサーバー応答チェックをスキップする
        (サーバーがすべて利用可能であると想定)
<名前付けコンテキスト> を省略すると、DsReplicaSyncAll には既定で構成 NC が
指定されます。


repadmin /syncall /AeP の場合は、
/A:全ての階層(名前付けコンテキスト)に対して、
/e:接続されている全てのサイトに対して、
/P:プッシュでレプリケーションを行います。

全データが同期されるため、CN=Configuration配下の構成情報(NTDS Settingsとか)も同期することができます。
(SYSVOLはレプリケートされないので注意。)

ちなみに、あまり使う機会はなさそうですが

repadmin /syncall /Ae

ではプッシュではなくプル(全サーバから、最新の情報を引っ張ってくる)で動作するようです。