概要  
ドメイン・コントローラの状態を総合的に診断する。サーバーがドメイン・コントローラに昇格できる状態であるかも診断できる。

 構文  
dcdiag /s:ドメイン・コントローラ名 [/n:ドメイン名] [/u:ユーザー名 /p:パスワード] [{/a|/e}] [{/q|/v}] [/i] [/f:ファイル名] [/ferr:ファイル名] [/c [/skip:テスト項目]] [/test:テスト項目] [{/h|/?}]

 利用環境  
Windows 95 ×
Windows 98 ×
Windows Me ×
Windows NT 4.0 ×
Windows 2000 ○
Windows XP △
Windows Server 2003 ○
※dcdiagはWindows 2000/Windows Server 2003のサポート・ツールに含まれているコマンド。インストールCD-ROMに収録されているほかに,Webサイトから入手できる(Windows 2000 Server(SP4)向けWindows Server 2003(SP1)向け)。なお,Windows 2000 Professionalのサポート・ツールにも含まれているが,dcdiagで診断する対象はドメイン・コントローラであるため,Windows 2000 Professionalを実行しているコンピュータ自身を診断することはできない。また,dcdiagコマンドはWindows XPのサポート・ツールには含まれないが,Windows Server 2003のサポート・ツールのdcdiagコマンドをWindows XP Professionalで実行することはできる

 コマンド・オプション 
(なし)通常のモードでdcdiagを実行する。
/?または/h各オプションのヘルプを表示する。
/s診断対象のドメイン・コントローラを指定する。省略した場合はコマンドを実行しているコンピュータ自身を診断する。
/n:ドメイン名診断対象のドメインを指定する。指定する方法としては,NetBIOS名,DNS名,DN形式のいずれかを使う。
/u:ユーザー名診断を実施するユーザー名を指定する。
/p:パスワード診断を実施するユーザーのパスワードを指定する。パスワードが空(NULL)の場合は「""」を,パスワードの入力を求める場合は「*」を指定する。
/aコマンドを実行したパソコンと同じサイトにある全てのドメイン・コントローラを診断する。
/eコマンドを実行したパソコンと同じフォレストにある全てのドメイン・コントローラを診断する。
/q出力をエラー・メッセージのみに抑制する(quietモード)。
/v実行中の詳細な情報を出力する(Verboseモード)。
/i不要なエラー・メッセージを無視する。
/f:ファイル名/span>診断の結果を指定したファイル名で出力する。
/ferr:ファイル名診断で発見した重大なエラーを指定したファイル名で出力する。
/c全てのテスト項目を実施する。ただし,下記に記したテスト項目のうちDCPromoとRegisterInDNSおよび/skipオプションで指定したものは除く。
/test:テスト項目指定したテスト項目を実施する。指定できるテスト項目は以下の通り。
Advertising ドメイン・コントローラが自分自身を可能な役割でアドバタイズしているか確認する
Connectivity ドメイン・コントローラがDNSに登録されているか,pingに応答があるか,LDAP/RPC接続が可能かを確認する
Cutoffservers 複製パートナーが停止しているためにレプリカを受け取らないサーバーを確認する
DcPromo サーバーが/DnsDomain:で指定したDNSドメインでドメイン・コントローラに昇格することが可能か確認する。確認する内容として/NewForest,/NewTree,/ChildDomain,/ReplicaDCのいずれかも指定する。/NewTreeを指定する場合は/ForestRoot:でフォレスト・ルート・ドメインのDNS名も一緒に指定する必要がある
FsmoCheck ドメイン・コントローラがKDC(キー配布センター),タイム・サーバー,プライマリ・ドメイン・コントローラ,グローバル・カタログ・サーバーと通信可能か確認する
frssysvol FRSとSYSVOLの状態を確認する
Intersite サイト間の複製を妨げるか,一時的に停止させるような障害がないか確認する
kccevent イベント・ログにKCCに関するエラーが記録されていないか確認する
KnowsOfRoleHolders ドメイン・コントローラがFSMOの役割をもつサーバーと通信可能か確認する
MachineAccount マシン・アカウントの情報が適切か確認する。/fixを指定するとテスト実施時に,ドメイン・コントローラのマシンアカウントのSPNs (サービス・プリンシパル名)を修復する
NCSecDesc 名前付けコンテキスト・ヘッドのセキュリティ記述子が,複製に関する適切なアクセス権を持っているか確認する
NetLogons 複製するための適切なログオン権限が使われているか確認する
ObjectsReplicated マシン・アカウントとDSAオブジェクトが複製されたか確認する
OutboundSecureChannels ドメイン内の全てのドメイン・コントローラと/testdomain:オプションで指定したドメインの間にセキュア・チャネルが確立されているか確認する
RegisterInDNS ドメイン・コントローラがDNSサーバーにDomain Controller Locator DNSレコードを登録できるか確認する。この指定をする場合は,/DnsDomain:で登録先のDNSドメインを一緒に指定する
Replications ドメイン・コントローラ間の複製が適時行なわれているか確認する
RidManager RIDマスターがアクセス可能か,正しい情報を格納しているかを確認する
Services 適切なドメイン・コントローラ・サービスが動作しているか確認する
systemlog システム・ログにエラーが記録されていないか確認する
Topology 全てのドメイン・コントローラが完全に接続されているかトポロジを確認する

Windows Server 2003以降のサポート・ツールに含まれるdcdiagコマンドではさらに以下のテスト項目を実施可能
CrossRefValidation 相互参照の有効性を確認する
CheckSDRefDom 全てのアプリケーション・ディレクトリ・パーティションに適切なセキュリティ記述子の参照ドメインがあることを確認する
frsevent イベント・ログにFRSに関するエラーが記録されていないか確認する
VerifyEnterpriseReferences 各ディレクトリ・サーバーのエンタープライズ内にあるすべてのオブジェクトのFRSおよびレプリケーション・インフラストラクチャに対して,特定のシステム参照が変更されていないことを確認する
VerifyReferences FRSおよびレプリケーション・インフラストラクチャに対して特定のシステム参照が変更されていないことを確認する
VerifyReplicas 全てのアプリケーション・ディレクトリ・パーティションが全てのレプリカ・サーバーで完全にインスタンス化されていることを確認する

Windows Server 2003 SP1のサポート・ツールに含まれるdcdiagコマンドではさらに以下のテスト項目を実施可能
CheckSecurityError Active Directoryの複製失敗の原因となるようなセキュリティ構成になっていないか確認する。指定時には「/ReplSource:」で複製の試行で使用する複製相手ドメイン・コントローラを指定できる(NetBIOS名,DNS名,DN形式のいずれかで指定)
DNS ドメイン・コントローラに関するDNSの総合的な状態を確認する。詳細な診断内容として,「/DnsBasic」,「/DnsForwarders」,「/DnsDelegation」,「/DnsDynamicUpdate」,「/DnsRecordRegistration」,「/DnsResolveExtName」,「/DnsAll」のいずれかを指定する必要がある。さらに,/DnsResolveExtNameでは「/DnsInternetName:」で名前解決のテストをするイントラネット名とインターネット名を指定できる
/skip:テスト項目実施しないテスト項目を指定する。

 使用例1:ドメイン・コントローラの基本的な診断をする(クリックで詳細表示)  
dcdiag /v /f:logfile.txt

 使用例2:ドメイン・コントローラのDNS機能を診断する(クリックで詳細表示)  
dcdiag /test:DNS /e /v /f:logfile.txt