本ページでは、Active Directory 環境における認証状態を確認する手順を整理する。
Active Directory の障害は、最終的に「ログオンできない」「共有にアクセスできない」「グループポリシー(GPO)が適用されない」といった形で利用者に影響として現れる。
Active Directory の認証は、以下の複数の仕組みによって成立している。
これらのいずれかに問題がある場合、認証は正常に動作しない。
そのため本手順では、単一のコマンド結果だけで判断するのではなく、
クライアント視点で段階的に確認を行い、認証が正常に成立しているかを総合的に判断する。
| 項目 | 内容 |
|---|---|
| ドメイン名 | example.com |
| ドメインコントローラー | DC01(PDC エミュレーター) |
| ドメインコントローラー | DC02(追加ドメインコントローラー) |
| クライアント | CLIENTPC |
※本ページでは説明のため仮称を使用している
※実環境ではドメイン名およびサーバー名を適宜読み替えること
| 対象 | 実施理由 |
|---|---|
| クライアントPC | 実際のログオン結果(最終結果)を確認するため |
| ドメインコントローラー | 認証基盤の異常切り分けのため |
※基本はクライアントPCで実施する
Active Directory の認証は、複数の要素が連携することで成立している。
そのため、ログオンの成否だけで判断するのではなく、
以下の観点を段階的に確認することが重要である。
これらを総合的に確認することで、
認証基盤全体の状態を正確に把握できる。
クライアントに Kerberos チケットが発行されているかを確認し、
ログオン認証および Active Directory との通信が正常に成立しているかを判断する。
# Kerberos チケット一覧を確認(ログオン認証の成立を確認)
C:\Windows\System32\klist.exe
PS C:\> C:\Windows\System32\klist.exe
キャッシュされたチケット: (複数)
#0> サーバー: krbtgt/EXAMPLE.COM
#1> サーバー: LDAP/DC01.example.com
Kerberos 認証では、ログオン時に TGT を取得し、その後アクセス先ごとにサービスチケットを取得する仕組みとなっている。
正常
Kerberos チケットが正常に発行されており、
ログオン認証およびドメインコントローラーとの通信は正常に成立している。
この確認により、認証処理の初期段階(ログオン認証)が正常であることを判断できる。
どのドメインコントローラーで認証が実行されているかを確認し、認証経路が正常に機能しているかを判断する。
# 現在のログオンで使用されたドメインコントローラーを確認(PowerShell)
$env:LOGONSERVER
# 現在のログオンで使用されたドメインコントローラーを確認(コマンドプロンプト)
echo %LOGONSERVER%
[cmd]
C:\> echo %LOGONSERVER%
\\DC02
[PowerShell]
PS C:\> $env:LOGONSERVER
\\DC02
この値を確認することで、実際にどのドメインコントローラーが使用されているかを把握できる。
正常
ログオンに使用されたドメインコントローラーが正常に取得できており、認証処理は適切なドメインコントローラーを通じて実行されている。
この結果から、認証経路(クライアント → ドメインコントローラー)は正常であると判断できる。
どのドメインコントローラーで認証が実行されているかを確認し、
認証経路が正常に機能しているかを判断する。
# 現在のログオンで使用されたドメインコントローラーを確認(PowerShell)
$env:LOGONSERVER
# 現在のログオンで使用されたドメインコントローラーを確認(コマンドプロンプト)
echo %LOGONSERVER%
[cmd]
C:\> echo %LOGONSERVER%
\\DC02
[PowerShell]
PS C:\> $env:LOGONSERVER
\\DC02
この値を確認することで、実際にどのドメインコントローラーが認証に使用されたかを把握できる。
正常
ログオンに使用されたドメインコントローラーが正常に取得できており、認証処理は適切なドメインコントローラーを通じて実行されている。
この結果から、認証経路(クライアント → ドメインコントローラー)は正常であると判断できる。
クライアントとドメイン間のセキュアチャネル(信頼関係)が正常に維持されているかを確認する。
セキュアチャネルは、クライアントがドメインに参加し続けるために必要な通信経路であり、異常がある場合はログオン不可や認証エラーの原因となる。
# セキュアチャネル(ドメインとの信頼関係)を確認
C:\Windows\System32\nltest.exe /sc_verify:example.com
PS C:\> C:\Windows\System32\nltest.exe /sc_verify:example.com
信頼された DC 名 \\DC02.example.com
信頼された DC 接続状態 Status = 0 0x0 NERR_Success
信頼の確認 Status = 0 0x0 NERR_Success
コマンドは正常に完了しました
この確認により、クライアントがドメインに正常に参加しているか、およびドメインコントローラーとの通信が正常であるかを判断できる。
正常
クライアントとドメイン間のセキュアチャネル(信頼関係)は正常に維持されている。
この結果から、ドメイン参加状態および認証基盤との通信は正常であると判断できる。
クライアントが利用可能なドメインコントローラーを正常に検出できるかを確認し、認証先の探索処理(DCロケータ)が正常に動作しているかを判断する。
DC検出は DNS(SRVレコード)に依存するため、ここで異常がある場合は DNS またはドメインコントローラーの障害が疑われる。
# 利用可能なドメインコントローラーを検出
C:\Windows\System32\nltest.exe /dsgetdc:example.com
PS C:\> C:\Windows\System32\nltest.exe /dsgetdc:example.com
DC: \\DC02.example.com
アドレス: \\192.168.1.10
ドメイン GUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
ドメイン名: example.com
フォレスト名: example.com
DC サイト名: Default-First-Site-Name
本サイト名: Default-First-Site-Name
フラグ: GC DS LDAP KDC TIMESERV WRITABLE DNS_DC DNS_DOMAIN DNS_FOREST
コマンドは正常に完了しました
本結果では、ドメインコントローラー(例:DC02)が選択されており、IPアドレスやドメイン名、サイト名が正常に取得できている。
また、「コマンドは正常に完了しました」と表示されていることから、DC検出処理は正常に完了していると判断できる。
正常
クライアントは利用可能なドメインコントローラーを正常に検出できている。
本結果より、DNS(SRVレコード)および DCロケータの動作は正常であり、認証先の探索処理に問題はないと判断できる。
認証結果としてグループポリシー(GPO)が正しく適用されているかを確認し、
Active Directory 全体の動作が正常であるかを最終的に判断する。
GPO の適用結果は、認証・SYSVOL・レプリケーションの状態を総合的に反映するため、
最終的な確認ポイントとなる。
# クライアントに適用されたグループポリシーを確認
C:\Windows\System32\gpresult.exe /r
PS C:\> C:\Windows\System32\gpresult.exe /r
コンピューター設定
-------------------
グループ ポリシーの適用元: DC02.example.com
適用されたグループ ポリシー オブジェクト
-----------------------------------------
Default Domain Policy
SEC_C_Domain_AccountPolicy
(その他の GPO が表示される)
ユーザー設定
-------------
適用されたグループ ポリシー オブジェクト
-----------------------------------------
(適用された GPO が表示される)
この結果により、認証後の処理が正常に完了しているかを確認できる。
正常
「次の GPO はフィルターで除外されたため適用されませんでした」と表示される場合がある。
これは、セキュリティグループや WMI フィルターによる制御であり、意図した設定であれば正常な動作である。
👉 除外された GPO は「設計通りの動作かどうか」で判断する
クライアントに対して GPO が正常に適用されており、適用元ドメインコントローラーも正しく取得できている。
この結果から、認証処理・SYSVOL・レプリケーションを含めた Active Directory 全体の動作は正常であると判断できる。
Kerberos 認証に必要な時刻同期が正常に行われているかを確認する。
Kerberos は時刻差に厳しく、クライアントとドメインコントローラー間で時刻がずれている場合、認証エラーの原因となる。
# 時刻同期状態を確認
C:\Windows\System32\w32tm.exe /query /status
PS C:\> C:\Windows\System32\w32tm.exe /query /status
ソース: DC02.example.com
最終正常同期時刻: (時刻が表示される)
階層: (表示される)
Active Directory 環境では、クライアントは通常ドメインコントローラーと時刻同期を行う。
この結果により、Kerberos 認証の前提条件である時刻同期の状態を確認できる。
正常
クライアントおよびドメインコントローラー間で時刻同期は正常に行われている。
この結果から、Kerberos 認証の前提条件である時刻同期は満たされており、認証基盤に問題はないと判断できる。
以下は、ログオン不可などの障害が発生した場合の基本的な切り分けの流れである。
本手順で実施した各確認結果をもとに、
Active Directory の認証状態を総合的に評価する。
本ページでは、以下の観点から認証の状態を確認している。
本手順において、すべての確認項目が正常であることを確認した。
以上より、Active Directory における認証処理は正常に動作していると判断できる。
本確認では、認証の成否を単一のコマンド結果で判断するのではなく、複数の観点から段階的に状態を確認している。
まず、Kerberos チケットの取得状況を確認することで、ログオン認証が正常に成立しているかを把握する。
そのうえで、ログオンサーバーおよびセキュアチャネルの確認を行い、どのドメインコントローラーが使用されているか、またクライアントとドメイン間の信頼関係が正常に維持されているかを確認する。
さらに、DC 検出確認により、DNS(SRVレコード)を含めたドメインコントローラーの探索処理が正常に機能しているかを確認し、認証先の選択に問題がないことを確認している。
最後に、GPO 適用確認および時刻同期確認を通じて、認証後の処理が正常に完了していること、ならびに Kerberos 認証の前提条件が満たされていることを確認する。
これらの確認結果に一貫性があることから、認証基盤は正常に動作している状態であると判断できる。
本手順により、Active Directory の認証状態を段階的に確認し、認証・通信・信頼関係・GPO・時刻のすべての観点で問題がないことを確認した。
特に、Kerberos チケットおよび GPO 適用の確認により、認証処理が実際に機能していることを確認できている点が重要である。
以上より、本環境の Active Directory は正常に運用可能な状態である。