【Active Directory入門 Part13】AD診断系コマンド16個紹介!

この記事の内容

  • Active Directory環境の健全性を確認するための診断コマンドを16個紹介します
  • dcdiagrepadmindfsrdiag など、障害対応や日常運用で頻繁に使うコマンドを解説します
  • グループポリシーの適用状況確認や、Kerberos認証のトラブルシューティングに使えるコマンドも含みます
  • コマンドプロンプト(cmd)上での実行例とともに、実際の出力の見方を説明します
  • このシリーズ(Active Directory入門)の最終回として、運用・保守の基礎知識をまとめます

診断コマンドを実行する準備

まずはコマンドプロンプトを起動します。「ファイル名を指定して実行」で cmd と入力してコマンドプロンプトを開き、以下のコマンドを順番に試してみてください。


1. dcdiag ― ドメインコントローラーの総合診断

Active Directory診断において最も重要なコマンドです。これ一つで多くの問題を検出できます。

dcdiag

このコマンドを実行すると、ドメインコントローラーに対してさまざまなテストが自動的に実行されます。すべてのテストが成功(PASSED)していることを確認してください。

結果の見方の注意点

イベントログ関連のチェックは、「24時間以内に発生したエラー」を検出します。そのため、問題が解消された後もしばらくは失敗し続けることがあります。失敗項目があった場合は、実際のイベントログを確認して「今現在もエラーが発生しているか」を必ず確認してください。

詳細モードで実行する

より詳細な診断結果が必要な場合は /v オプションを付けます。通常はこちらを使うことをおすすめします。

dcdiag /v

複数台のDCがある環境での実行

dcdiag には、リモートサーバーをまとめてテストするオプションもありますが、1台ずつログインして実行する方が確実です。各ドメインコントローラーにそれぞれログインし、dcdiag を実行してください。


2. netdom query fsmo ― FSMOロールの確認

FSMOロール(柔軟な単一マスター操作)がどのドメインコントローラーに割り当てられているかを確認します。

netdom query fsmo

dcdiag /v の出力にもFSMOのチェック結果が含まれますが、一覧として見やすく確認したい場合はこのコマンドが便利です。


3. repadmin ― レプリケーション関連コマンド

3-1. レプリケーション状況の確認

現在操作しているドメインコントローラーがどのDCからどのパーティションを複製しているか、また最終複製日時を確認できます。

repadmin /showrepl

または同等のオプション:

repadmin /showreps

すべてのレプリケーションが成功していることが非常に重要です。

3-2. レプリケーションの手動実行

現在操作しているDCのすべての入力方向レプリケーションを強制実行します。

repadmin /syncall

特定のサーバーを指定することもできます。「Active Directoryサイトとサービス」から手動で行うよりも、このコマンドを使う方が効率的です。

repadmin /syncall DC01
repadmin /syncall DC02
repadmin /syncall DC03

プッシュ方向(送信方向)で同期したい場合は /B オプションを追加します(通常は不要)。

repadmin /syncall /B

4. net share ― 共有フォルダの確認

SYSVOL や NETLOGON の共有が正しく存在するかを確認します。

net share

SYSVOLとNETLOGONの両方が表示されることを確認してください。


5. dfsrdiag ― DFS-Rレプリケーションの診断

SYSVOLはDFS-Rで複製されています。その状態を診断するコマンドです。

レプリケーション状態の確認

dfsrdiag replicationstate

出力に 00(同期完了)と表示されていれば正常です。強制同期や停止なども可能ですが、基本的にはこのコマンドで状態確認を行えば十分です。


6. gpresult ― グループポリシーの適用結果確認

グループポリシーが正しく適用されているかを確認します。

簡易表示

gpresult /r

詳細表示(推奨)

gpresult /v

/v オプションを使うと、以下の情報が確認できます。

  • 低速リンクかどうか
  • コンピューター設定の最終適用日時
  • 適用されているGPO(グループポリシーオブジェクト)の一覧
  • 各設定の具体的な適用内容

グループポリシーを設定したが反映されないという場合は、対象のコンピューター上でこのコマンドを実行することで原因を特定しやすくなります。GUIの「グループポリシーの結果ウィザード」を使う方法もありますが、コマンドの方がより正確に確認できます。


7. klist ― Kerberosチケットの確認

Kerberos認証に問題が疑われる場合に使います。

現在保持しているチケットの一覧表示

klist

チケットの削除(パージ)

認証の問題をリセットしたい場合は、一度チケットを削除してから再度アクセスし直します。

klist purge

8. nslookup ― DNS名前解決の確認

DNSが正しく機能しているかを確認します。Active Directoryの動作はDNSに強く依存しているため、名前解決のチェックは非常に重要です。

nslookup ドメイン名やホスト名

Windowsには dig コマンドがデフォルトで含まれていないため、nslookup を使って確認します。


9. whoami ― 現在のログインユーザーの確認

現在どのユーザーでログインしているかを確認します。ドメインユーザーとしてログインできているかの確認に使います。

whoami

UPNの確認

AD内のどのユーザーに対応しているかをUPN(ユーザープリンシパル名)形式で確認できます。キャッシュログイン(オフラインログイン)の場合はUPNが表示されないため、キャッシュログイン状態かどうかの確認にも使えます。

whoami /upn

10. set ― 現在使用中のドメインコントローラーの確認

どのドメインコントローラーを使ってログインしているかを確認します。set の後に L 程度まで打つと、先頭が L の環境変数が一覧表示されます。

set LOGONSERVER

LOGONSERVER の値から、現在認証に使っているDCを確認できます。


まとめ

今回紹介したActive Directory診断コマンドをまとめます。

コマンド用途
dcdiagDCの総合診断
dcdiag /vDCの詳細診断
netdom query fsmoFSMOロールの確認
repadmin /showreplレプリケーション状況の確認
repadmin /syncallレプリケーションの強制実行
net share共有フォルダの確認
dfsrdiag replicationstateDFS-Rレプリケーション状態の確認
gpresult /vグループポリシー適用結果の詳細確認
gpresult /rグループポリシー適用結果の簡易確認
klistKerberosチケットの確認
klist purgeKerberosチケットの削除
nslookupDNS名前解決の確認
whoami現在のログインユーザーの確認
whoami /upnUPN形式でのユーザー確認
set LOGONSERVER使用中のDCの確認

Active Directoryは、内部でエラーが発生していても表面上は正常に動作してしまうケースがあります。マルチマスター構成であるため、一部のDCに問題があっても別のDCが応答してしまい、問題が見えにくくなることがあります。

日常的にこれらの診断コマンドを実行して健全な状態を保つことが、安定したAD運用の基本です。エラーを発見した場合は、放置せず早めに対処することを心がけてください。