Active Directory ドメインに参加しているコンピューターは、起動時に必ずドメインコントローラーへ接続し、セッションを確立します。
このセッションは暗号化されており、「セキュアチャネル」と呼ばれます。
「セキュアチャネル」そのものついては、マイクロソフトの中の人が書かれているブログ「ドメインにログオンできない ~ セキュア チャネルの破損 ~」で詳しく解説されているので、ここでは割愛します。
コンピューターの起動時に何らかの障害があってドメインコントローラーと通信ができない場合、そのコンピューターのイベントログの「システム」に、エラーイベントが記録されます。
それが当記事のタイトルにある「ソース:NETLOGON , イベントID:5719」です。
以下は、本エラーのメッセージの一例です。
次の理由のため、このコンピューターはドメイン AD のドメイン コントローラーの セキュリティで保護されたセッションをセットアップできませんでした:
現在、ログオン要求を処理できるログオン サーバーはありません。
これにより、認証の問題が発生する可能性があります。このコン ピューターがネットワークに接続されていることを確認してください。 問題が解決されない場合は、ドメイン管理者に問い合わせてください。
追加情報
このコンピューターが指定されたドメインのドメイン コントローラーの場合は、 指定されたドメインのプライマリ ドメイン コントローラー エミュレーターに対して 安全なセッションをセットアップします。そうでない場合は、このコンピューターは、 指定されたドメインのすべてのドメイン コントローラーに対して安全なセッション をセットアップします。
これから何回かに分けて、このエラーが発生した場合の影響や対処、原因解明手法について紹介していきます。
(いわゆる「セキュアチャネルの破損」と呼ばれる現象とは別のお話です。)
なお、当記事を書くにあたり、4台のコンピューターで実際に Active Directory ドメインを構築してこのエラーを再現させました。
その環境は以下の通りです。
A . DNS サーバー : Windows Server 2012 Datacenter
B . ドメインコントローラー : Windows Server 2012 Datacenter(ドメイン名 : ad.test.domain)
C . ファイルサーバー : Windows Server 2012 Datacenter
D . クライアントPC : Windows 8 Enterprise
まずは、B-D 間でセキュアチャネルが確立されるまでの通常の流れを、大雑把に説明します。
1. D の電源が入り、OS が起動します。
2. D はドメインコントローラーに接続するため、 A に名前解決を要求します。
この時の名前解決は、B のホスト名から IP アドレスを解決するのではありません。
SRV レコードを利用するのですが、その動作については @IT の記事「DNSサーバーはなぜ必要なのか」で詳しく解説されているので、ここでは割愛します。
3. D は A から回答された B の IP アドレスに接続し、セキュアチャネルの確立を試みます。
4. B は D からの接続を受け入れ、セキュアチャネルを確立します。
この時、 B の中では、 NETLOGON サービスが D との通信を担当しているようです。
そう推察する根拠は、予め NETLOGON サービスを停止しておくことで本エラーを再現できるからです。
こうして B-D 間でセキュアチャネルが確立してたことで、Active Directory の様々な機能が実現します。
分かりやすく代表的な機能としては、以下の2例が挙げられます。
例1、D が B からグループポリシーを取得する。
例2、D にログオンしようとしたドメインユーザーを、B が認証する。
逆に言うと、何らかの障害により D に「ソース:NETLOGON , イベントID:5719」が記録されてしまった状態では、これらの機能は利用できません。
ただしその障害が一過性のものであり、すぐに自然解消してしまった場合、実際には大した問題になりません。
次にセキュアチャネルが必要になった時点で改めて上記 2. 3. 4. の処理が行われ、その時点で障害が無ければちゃんとセキャチャネルが確立されるからです。
つづく