概要  
 Active Directoryでは,複数存在するドメイン・コントローラのどこでもActive Directoryオブジェクトや属性内容の追加や変更を実行することができる。変更した情報はActive Directory複製によって各ドメイン・コントローラに反映される。だが,ドメイン・コントローラ間でトラブルが起こっていると,複製が正しく行われないことがある。repadminコマンドはこうした問題に対応するためのトラブルシュート・ツールである。Active Directory複製の強制実行やドメイン・コントローラ間での複製状況のチェックなどを実行することができる。

 repadminコマンドはWindowsサポート・ツールをインストールすると利用可能となる。Windowsサポート・ツールは,トラブル時の問題解決のために利用可能なツールキットとなるもので,Windowsのインストール・ディスクやマイクロソフトのWebサイトからダウンロードしたファイルを利用してインストールする。Windows Server 2003であればWindows Server 2003 Service Pack 2 32-bit Support Toolsのダウンロード・ページから,Windows 2000であればWindows 2000 Service Pack 4 Support Toolsのダウンロード・ページからダウンロード可能である。

 サポート・ツールはWindows 2000 Server/Windows Server 2003のほか,Windows 2000 Professional/Windows XP Professional/Windows VistaといったクライアントOSにも技術的にはインストールが可能である。これらのクライアントOSにインストールされたrepadminからドメイン・コントローラに接続して操作することも可能である。

 repadminコマンドにはWindowsサポート・ツール用のものとADAM用(Active Directory Application Mode)のものがあり,プログラム本体が異なる。そのため,利用できるコマンドの種類にも少し違いがある。ここではWindowsサポート・ツールのものを前提に記述するが,興味がある方はADAM用のrepadminを利用するのもよいだろう。ADAM用のrepadminはActive Directoryへのアクセスにも問題なく作られており,すべて日本語化されているため,コマンドが多少使いやすくなっている。

 なお,Windowsサポート・ツールはWindows製品そのものではないため,製品単体としてのサポートは受けられない。ただし,製品の使い方に関しては,マイクロソフトの判断である程度のサポートを受けられる場合もある。


 利用環境  
Windows 95 ×
Windows 98 ×
Windows Me ×
Windows NT 4.0 ×
Windows 2000 ○(サポート・ツールを利用)
Windows XP △(Windows Server 2003のサポート・ツールを利用)
Windows Server 2003 ○(サポート・ツールを利用)
Windows Vista (Windows Server 2003 SP1以降のサポート・ツールを利用)

 基本構文  
repadmin [サブコマンド] [サブコマンド・パラメータ] [/ldap] [/rpc] [/csv] [/u:ドメイン\ユーザー] [/pw:{パスワード|*}]

または

repadmin [/?] [/help] [/listhelp] [/csvhelp] [/experthelp] [/oldhelp]


 基本オプション 
(なし),/?または/help通常利用されるサブコマンドが記載されたコマンド・ライン・ヘルプを表示する。
/listhelp各サブコマンドのパラメータで指定する,ドメイン・コントローラのリスト情報(DC_LIST)についての構文を示したヘルプを表示する。
/csvhelp/showreplサブコマンドでCSV出力を行うための情報を示したヘルプを表示する。Windows Server 2003のみで利用可能。
/experthelp詳細レベルで利用されるサブコマンドが記載されたコマンド・ライン・ヘルプを表示する。
/oldhelp互換性のためWindows 2000ベースのrepadminサブコマンドが記載されたコマンド・ヘルプを表示する。Windows Server 2003のみで利用可能。
/ldapネットワーク接続にLDAPのみを使うように強制指定する。特にこのオプションを指定しないデフォルト状態ではまずLDAPで接続を実行し,接続に失敗したときにMS-RPCを使って再度接続を実行する。Windows Server 2003のみで利用可能。
/rpcネットワーク接続にMS-RPCのみを使うように強制指定する。Windows Server 2003のみで利用可能。
/csv/showreplサブコマンド時にCSV形式で情報を出力する。Windows Server 2003のみで利用可能。
/u:ドメイン\ユーザー接続先のドメイン・アカウントを指定する。
/pw:{パスワード|*}接続先ドメイン・アカウントのパスワードを指定する。「*」を指定すると実行時にパスワードを問い合わせるようになる。

 repadmin /bindサブコマンド  

概要:
指定したドメイン・コントローラ上のActive Directory設定情報をリストアップする。

構文:
repadmin /bind [ドメイン・コントローラ]


 repadmin /bridgeheadsサブコマンド  

概要:
各サイトのブリッジ・ヘッド・サーバーの一覧を表示する。

構文:
repadmin /bridgeheads [ドメイン・コントローラ] [/verbose]

オプション:
/verbose 詳細モードでコマンドを実行する。


 repadmin /checkpropサブコマンド  

概要:
指定した名前付けコンテキスト(ディレクトリ・パーティション)のUSNを比較する。

構文:
repadmin /checkprop [ドメイン・コントローラ] 名前付けコンテキスト オリジナルのInvocationID オリジナルのUSN


 repadmin /dsaguidサブコマンド  

概要:
グローバル一意識別子(GUID)を指定してDSA名(Active Directoryオブジェクト名)を表示する。

構文:
repadmin /dsaguid ドメイン・コントローラ GUID


 repadmin /failcacheサブコマンド  

概要:
Knowledge Consistency Checker(KCC)情報の複製失敗情報を表示する。

構文:
repadmin /failcache [ドメイン・コントローラ]


 repadmin /istgサブコマンド  

概要:
ISTG(サイト間トポロジ・ジェネレータ)の一覧を表示する。

構文:
repadmin /istg [ドメイン・コントローラ] [/verbose]

オプション:
/verbose 詳細モードでコマンドを実行する。


 repadmin /kccサブコマンド  

概要:
KCCを強制的に実行する。

構文:
repadmin /kcc [ドメイン・コントローラ] [/async]

オプション:
/async KCCによる情報の複製を非同期で実行する。コマンド実行直後にコマンド・レベルに戻る。


 repadmin /latencyサブコマンド  

概要:
各サイトのISTG Keep Alive Timestampに関する情報を表示する。

構文:
repadmin /latency [ドメイン・コントローラ] [/verbose]

オプション:
/verbose 詳細モードでコマンドを実行する。


 repadmin /notifyoptサブコマンド  

概要:
Replication-Notify-First-DSA-DeleyおよびReplication-Notify-Subsequent-DSA-Deley属性を表示したり,変更したりする。Windows Server 2003はこれらの属性値を変更することで,サイト内の複製間隔を変更させることができる。

構文:
repadmin /notifyopt ドメイン・コントローラ 名前付けコンテキスト [/first:] [/sub:]

オプション:
/first: Replication-Notify-First-DSA-Deley属性に値を設定する。
/sub: Replication-Notify-Subsequent-DSA-Deley属性に値を設定する。


 repadmin /queueサブコマンド  

概要:
複製キューの数を表示する。

構文:
repadmin /queue [ドメイン・コントローラ]


 repadmin /querysitesサブコマンド  

概要:
サイト間(サイト1からサイト2へ)のコスト値を表示する。

構文:
repadmin /querysites サイト1のRDN サイト2のRDN


 repadmin /regkeyサブコマンド  

概要:
複製時にレジストリの値を調整するために変えたり,レジストリの値の追加や削除を実行する。例えば,Strict Replication Consistency(複製タイミングを越えたオブジェクトの強制複製を行うかどうか)のレジストリ値は「risrict」という名前で指示する。

構文:
repadmin /regkey [ドメイン・コントローラ] [+|-]レジストリ値の名前 [値の内容]

オプション:
+|- レジストリ値の追加や削除を指定する。
値の内容 レジストリ値の内容だけを変更する。


 repadmin /replicateサブコマンド  

概要:
複製元ドメイン・コントローラ(DC)名から複製先DC名に対して,名前付けコンテキスト(パーティション)についてActive Directory複製を実行する。複製元DC名にはコンピュータ名のほかに,GUIDやGUIDベースのDNS名が利用できる。

構文:
repadmin /replicate 複製先DC名 複製元DC名 名前付けコンテキスト [/force] [/async] [/full] [/addref]
または
repadmin /replicate 複製先DC名 名前付けコンテキスト /allsources [/force] [/async] [/full] [/addref]

オプション:
/force 上書きする。
/async 複製を非同期で実行する。コマンド実行直後にコマンド・レベルに戻る。
/full 名前付けコンテキスト上のすべてのオブジェクトを複製する。
/addref ソースの通知エントリをチェックするようにソースに指示する。通知エントリがない場合はエントリを追加する。
/allsources 複数の複製元DCをもつ複製先DCに対して,すべての複製元から複製を実行する。複製元DC名は指定できない。


 repadmin /replsingleobjサブコマンド  

概要:
特定の単独オブジェクトについて任意のドメイン・コントローラ間で複製を実行する。このオプションではドメイン・コントローラ間で接続オブジェクトが存在していなくても複製が可能である。

構文:
repadmin /replsingleobj 複製先DC名 複製元DCのGUID オブジェクトのDN名


 repadmin /replsummaryサブコマンド  

概要:
レプリケーションの統計情報を表示する。

構文:
repadmin /replsummary [ドメイン・コントローラ] [/bysrc] [/bydest] [/errorsonly] [/sort:{delta|partners|failuers|error|percent|unresponsive}]

オプション:
/bysrc 複製元ドメイン・コントローラとしてのレプリケーション情報だけを表示する。
/bydest 複製先ドメイン・コントローラとしてのレプリケーション情報だけを表示する。
/errersonly エラーが記録されたレプリケーション情報だけを表示する。
/sort:{delta|partners|failuers|error|percent|unresponsive} 指定した各項目によるソートを実行する。


 repadmin /showattrサブコマンド  

概要:
ディレクトリ・パーティションやオブジェクトの属性を表示する。

構文:
repadmin /showattr ドメイン・コントローラ 対象オブジェクト [対象オブジェクト オプション] [/attrs:属性1,属性2...] [/allvalues] [/long] [/dumpallblob]

オプション:
対象オブジェクト 通常はDN名で対象オブジェクトを指定する。特定の項目については別の文字列が指定する(スキーマ・パーティション = Ncobj:schema:,設定パーティション = Ncobj:config:,ドメインパーティション = Ncobj:domain:,(接続したDCの)NTDS設定オブジェクト = Dsaobj:,RootDSE = "")。
対象オブジェクト オプション LDAP検索のオプションを指定する。指定できる項目としては,「/filter:LDAPフィルタ」「/base」「/subtree」「/onelevel」。
/attrs:属性1,属性2... 特定の属性名だけを表示させる。
/allvalues 属性値のすべてを完全に表示させる。このオプションを指定しない場合は一つの属性に20以上の値の数がある場合は20までしか表示しない。
/long 一つの属性に複数値がある場合に,それを1行ずつ表示させます。
/dumpallblob 通常人間がわかりやすい表現に変換されて表示される値について,変換しないでそのまま表示する。生データを確認したい場合に便利である。


 repadmin /showchangesサブコマンド  

概要:
指定したドメイン・コントローラ上のパーティションにどんな変更が加えられたかの累計を表示する。/cookieオプションでファイルを保存しておけば,そのファイルと現状を比較することができる。または,複製元と複製先DCでのパーティション間でのまだ複製していない変更情報を表示する。

構文:
repadmin /showchanges ドメイン・コントローラ 名前付けコンテキスト [/cookie:ファイル名] [/atts:属性1,属性2...]
または
repadmin /showchanges 複製先DC名 複製元DCのGUID 名前付けコンテキスト [/verbose] [/statics] [/noincremental] [/ancestors] [/atts:属性1,属性2...] [/filter:LDAPフィルタ]

オプション:
/cookie:ファイル名 結果を記録するファイルを指定する。指定した名前のファイルが存在しないときには,パーティションに加えられた変更の累計の現状を記録する。すでにあるファイルを指定したときには,その内容と現状を比較して差分を表示した上で,現在の状況がファイルに上書きする。
/attr:属性1,属性2... 表示する属性を指定する。
/verbose 詳細情報を表示する。
/statics 変更についての要約情報を表示する。
/noincremental 変更形式の値で表示する。各属性に対する現在の値と追加削除された属性が表示する。筆者の環境では最初からこのようになっているため,オプションの有無が確認できなかった。
/objectsecurity パーティションに対してログオンしている制限ユーザーでのGetChanges権利を上書きして,内容が表示できるようにする。Windows Server 2003に対してのみ有効である。
/ancestors USNの順序で変更を返す。
/attrs:属性1,属性2... 表示する属性を指定する。
/filter:LDAPフィルタ LDAPベースでの属性フィルタを設定して表示する。


 repadmin /showconnサブコマンド  

概要:
指定したドメイン・コントローラが属するサイト上の接続オブジェクト情報を表示する。DCのRDN/サイト上のオブジェクトDN名/DCのGUIDを入力しない場合は,ローカル・サイト・オブジェクトがデフォルトの対象となる。

構文:
repadmin /showconn [ドメイン・コントローラ] {DCのRDN|サイト上のオブジェクトDN名|DCのGUID} [/from:DCのRDN] [/intersite]

オプション:
/from:DCのRDN 指定したドメイン・コントローラから接続しているオブジェクトのみ表示する。
/intersite サイト間の接続オブジェクトのみを表示する。


 repadmin /showctxサブコマンド  

概要:
指定したドメイン・コントローラ上でセッションが開いている状況を表示する。

構文:
repadmin /showctx [ドメイン・コントローラ] [/nocache]

オプション:
/nocache セッション先のドメイン・コントローラやサイト名をGUIDで表示する。


 repadmin /showismサブコマンド  

概要:
サイト間メッセージを使ってサイトのルートを表示する。このコマンドはリモートで利用することはできない。

構文:
repadmin /showism [トランスポートDN] [/verbose]

オプション:
トランスポートDN RPC over IPトランスポート(CN=IP,CN=Inter-Site Transports,CN=Sites,<設定パーティションDN>)かSMTPトランスポート(CN=SMTP,CN=Inter-Site Transports,CN=Sites,<設定パーティションDN>)を指定する。
/verbose 詳細モードで表示する。


 repadmin /showmsgサブコマンド  

概要:
NTDSに関するWin32エラー・メッセージを表示する。

構文:
repadmin /showmsg {メッセージ番号|イベントID /NTDSMSG}

オプション:
/NTDSMSG ディレクトリ・サービスに関するイベント・ログのメッセージを表示する。


 repadmin /showncsigサブコマンド  

概要:
指定したドメイン・コントローラ上で,現在のパーティションのGUID(実際はInvocationID)と,削除されたパーティションのInvocationIDを表示する。この情報により削除されたパーティションがなんであったかわかることがある。

構文:
repadmin /showncsig [ドメイン・コントローラ]


 repadmin /showobjmetaサブコマンド  

概要:
指定した複製先ドメイン・コントローラ上で,どんなデータが複製されたのか記録を表示する。複製の事実を確認することができる。

構文:
repadmin /showobjmeta [ドメイン・コントローラ] オブジェクトのDN名 [/nocache] [/linked]

オプション:
/nocache 複製元ドメイン・コントローラの接続オブジェクトをGUIDで表示する。
/linked オブジェクトにリンクされたメタデータについて表示する。


 repadmin /showoutcallsサブコマンド  

概要:
ドメイン・コントローラが複製の呼び出し要求に対して,まだ応答がないものを表示する。

構文:
repadmin /showoutcalls [ドメイン・コントローラ]


 repadmin /showproxyサブコマンド  

概要:
他のドメインに移動したオブジェクトのマーカー情報が記載されたオブジェクトを表示する。または,他のドメインに移動したオブジェクトの,以前のドメインからの履歴情報を表示する。

構文:
repadmin /showproxy [ドメイン・コントローラ] 名前付けコンテキスト [マッチ文字列]
または
repadmin /showproxy [ドメイン・コントローラ] オブジェクトのDN名 [マッチ文字列] /movedobject

オプション:
マッチ文字列 フィルタリングする文字列を指定する。


 repadmin /showreplサブコマンド  

概要:
指定したドメイン・コントローラ上でのレプリケーション状況を表示する。

構文:
repadmin /showrepl [ドメイン・コントローラ] [複製元DCのGUID] 名前付けコンテキスト [/verbose] [/nocache] [/repsto] [/conn] [/csv] [/all] [/errorsonly] [/intersite]

オプション:
/verbose 詳細モードで表示する。
/nocache ドメイン・コントローラやサイトオブジェクトをGUID形式のまま表示する。
/repsto ドメイン・コントローラから出力方向で情報を取得する(プルする)ドメイン・コントローラとレプリケーション情報も表示する。
/conn 接続オブジェクト情報を表示する。
/csv 情報をCSV形式で出力する。ただし/repstoや/kcc情報は出力の対象とならない。
/all /repstoや/kccを含む,すべての情報を表示する。
/erroronly エラーが記録されているレプリケーション状況のみ表示する。
/intersite サイト間におけるレプリケーション状況のみ表示する。


 repadmin /showsigサブコマンド  

概要:
指定したドメイン・コントローラ上のパーティションの署名(実際はInvocationID)を表示する。削除されたパーティションがある場合その情報も表示する。

構文:
repadmin /showsig [ドメイン・コントローラ]


 repadmin /showtimeサブコマンド  

概要:
入力した時間値をUTC(世界標準時)に添ったローカル時間に変換する。値の入力がない場合,現在の時間を表示する。

構文:
repadmin /showtime [DC時間の値]


 repadmin /showtrustサブコマンド  

概要:
Active Directoryで信頼されているドメインのリストを表示する。

構文:
repadmin /showtrust [ドメイン・コントローラ]


 repadmin /showutdvecサブコマンド  

概要:
指定したドメイン・コントローラ上のパーティションでの最新のUSN情報を表示する。

構文:
repadmin /showutdvec ドメイン・コントローラ 名前付けコンテキスト [/nocache] [/latency]

オプション:
/nocache ドメイン・コントローラやサイトオブジェクトをGUID形式のまま表示する。
/latency 複製の完了にかかる時間順でソート表示する。


 repadmin /showvalueサブコマンド  

概要:
マニュアルには指定したオブジェクトの「データ型の値」「最終更新日時」「元のドメイン・コントローラ」「DN名」を表示するとあるが,筆者が試したところでは該当する値しか表示されなかった。表示できる属性名としては,2.5.5.1と2.5.5.7(前方リンクのみ)および2.5.5.14構文(前方リンクと後方リンク)の属性のみが利用できる。属性の構文はスキーマ・パーティションで指定される各属性オブジェクトに記録されている。

構文:
repadmin /showvalue ドメイン・コントローラ オブジェクトのDN [属性名|値のDN] [/nocache]

オプション:
/nocache サイト上のドメイン・コントローラ名をGUIDで表示する。


 repadmin /syncallサブコマンド  

概要:
指定したドメイン・コントローラ上で,すべてのドメイン・コントローラに対してレプリケーションを実行する。大文字と小文字のオプションは区別する。名前付けコンテキストを指定しない場合,設定パーティションがデフォルトで指定する。

構文:
repadmin /syncall [/?] [ドメイン・コントローラ] [名前付けコンテキスト] [/a] [/A] [/d] [/e] [/h] [/i] [/I] [/j] [/p] [/P] [/q] [/Q] [/s] [/S]

オプション:
/?または/h syncallサブコマンドのヘルプを表示する。
/a すべてのサーバーで処理が行えない場合は,作業を中止する。
/A (指定したパーティション以外も)保持しているすべてのパーティションについて同期を実行する。
/d 動作時のメッセージで,GUID DNS名のドメイン・コントローラ名をDN名で識別する。
/e すべてのサイト間で複製を実行する。デフォルトではサイト内の複製のみ実行する。
/i 複製動作を100回ずつ繰り返して一時停止する。キーを押すと続行するが,強制的に終了しない限り無限に実行する。
/j 隣接したドメイン・コントローラのみ複製を実行する。
/p 処理を停止できるよう一時停止する。
/P 指定したドメイン・コントローラからプッシュ形式で複製を指示する。
/q コールバック・メッセージを表示しない。それ以外のメッセージ(複製失敗したエラー情報等)は表示する。
/Q /qよりも強い無人モードとなり,致命的なエラーメッセージ(コマンドの実行が失敗したなど)のみを表示し,他のメッセージは表示しない。
/s 分析を実行しコールバック・メッセージは表示するが,実際の同期は実行しない(ユーザー・レベルで中止する)。
/S 各ドメイン・コントローラとの通信テストを行わずにコマンドを実行する。ダウンしているドメイン・コントローラがある場合,通常はコマンドの最初に検査されて実行時にスキップするが,このオプションではコマンド実行中にドメイン・コントローラの応答を待つため,コマンドが途中で止まって見えることがある。


 repadmin /viewlistサブコマンド  

概要:
ドメイン・コントローラの一覧とディレクトリ・パーティション情報を表示する。対象オブジェクトの指定方法については/showattrサブコマンドを参照。

構文:
repadmin /viewlist [ドメイン・コントローラ] [対象オブジェクト]


 使用例1:ドメイン・コントローラ間での複製状況を確認する(クリックで詳細表示)  
repadmin /showrepl

 使用例2:ドメイン・コントローラを手動で同期させる(クリックで詳細表示)  
repadmin /replicate 複製先DC名 複製元DC名 DC=example,DC=com

 使用例3:特定のオブジェクトを複製する(クリックで詳細表示)  
repadmin /replsingleobj 複製先DC名 複製元DCのGUID オブジェクトのDN名

 使用例4:全ドメイン・コントローラに複製する(クリックで詳細表示)  
repadmin /syncall DC名 /P /e DC=example,DC=com

 使用例5:変更内容を表示する(クリックで詳細表示)  
repadmin /showchanges DC名 DC=example,DC=com

 使用例6:未複製の情報を表示する(クリックで詳細表示)  
repadmin /showchanges 複製先DC名 複製元DCのGUID DC=example,DC=com

 使用例7:接続オブジェクト情報を表示する(クリックで詳細表示)  
repadmin /showconn *

 使用例8:複製状況のサマリーを表示する(クリックで詳細表示)  
repadmin /replsummary *