Network Location AwarenessサービスによるGPO適用処理を確認する

 
2月1日、関東では雪が降ったようですね。
いつもと違った景色を眺めたい、と思っていたのですが、
私は現在、出張で大阪に。
雪景色を見ることなく、終わってしまいそうです。
 
 
今日はNetwork Location Awareness(NLA)サービスとトラブルシューティングについてです。
 
NLAサービスはVista/Windows Server 2008からサポートされているサービスで
ネットワークの接続状態に合わせてグループポリシーの適用(更新)管理を行う、クライアント側のサービスです。
 
NLAサービスは、pingを使わない低速リンクの検出方法を提供するほか、
ネットワークの状態に合わせたグループポリシーの更新処理を行います。
具体的な処理としては、ドメインコントローラーから切断されたクライアントが、
もう一度接続すると、接続したタイミングで(実際には少しタイムラグがありますが..)
自動的にグループポリシーの更新が始まるというものです。 
 
実際に、ネットワークが切断/接続されている状態を再現し、
その際、どのようなイベントログを残すのか、確認してみました。
 
■ネットワーク接続が失われている状態
グループポリシーの更新処理が始まると、以下のログが
イベントビューアのGroupPolicyログに出力されます。
 
順番 イベントID 説明
1 4004 ポリシーの手動処理の開始 (gpupdateで処理を開始した場合)
2 5320 アカウント情報を取得しようとしています
3 4017 アカウント情報を取得するためにシステムコールを実行しています
4 7017 呼び出しが失敗しました
 
 
 
イベントID4004はgpupdateでコンピューターポリシーの更新を行った場合に出力されるログ、
イベントID4005はgpupdateでユーザーポリシーの更新を行った場合に出力されるログです。
ですので、ネットワーク接続が失われているときに、gpupdate /forceコマンドを実行すると、
4004から始まり、7017のエラーにたどり着く、一連のログと、
4005から始まり、7017のエラーにたどり着く、一連のログがそれぞれ出力されます。
 
これらの処理が複数回繰り返された後に、最終的にイベントID7004(コンピューター)、7005(ユーザー)のログを
出力し、グループポリシーの更新に失敗したことを告げます。
 
 
■ネットワーク接続が回復した状態
ネットワーク接続が回復すると、以下のログが出力されます。
 
順番 イベントID 説明
1 5320 ネットワーク状態の変更が検出されました
2 4003 ユーザーの状態が変更されたため、ポリシーの処理を開始しています
3 5320 アカウント情報を取得しようとしています
4 4017 アカウント情報を取得するためにシステムコールを実行しています
5 5017 呼び出しが完了しました
 
イベントビューアでは、下図のように表示されます。
 
(一部画像が乱れています)
 
この一連の処理は、コンピューターに関しても同様に行われます。
 
順番 イベントID 説明
1 5320 ネットワーク状態の変更が検出されました
2 4002 コンピューターの状態が変更されたため、ポリシーの処理を開始しています
3 5320 アカウント情報を取得しようとしています
4 4017 アカウント情報を取得するためにシステムコールを実行しています
5 5017 呼び出しが完了しました
 
ここまでが完了すると、本格的なポリシー更新処理に移ります。
ここから先の追跡処理については、ActivityIDを参考に追跡すると良いと思います。
(ActivityIDをもとにしたグループポリシーイベントの追跡方法については、
 
 こうした動作を把握しておけば、クライアント側でグループポリシーの更新が適切に行われているか、
などを確認することができますね。