イベントビューアからグループポリシーのトラブルシューティングを行う

 
今年の春にLas VegasにThe Expert Conference 2009というカンファレンスに行ってきたのですが、
帰ってきてからは忙しい日が続き、何も振り返りなどできませんでした。
覚えていたことと言えば、MGMグランドホテルのロゴは「とらや」っぽいということだけでした。
 
 
ほら、羊羹を食べたくなってきたでしょ?
 
 
そんなことより、資料を色々と整理していたら、グループポリシーのトラブルシューティングという話がでてきました。
Windows Server 2008 / Vistaでログやトレースの機能が充実してきたので、
ここ数年で、にわかに注目されているネタですね。
 
そんなグループポリシーのトラブルシューティングを行う方法のひとつにイベントビューアを使う方法があります。
イベントビューアの「アプリケーションとサービスログ」-「Microsoft」-「Windows」-「GroupPolicy」-「Operational」に
グループポリシーのログだけが記録されるので、これを見てトラブルシューティングするという方法です。
 
グループポリシーログに記録されるログは、イベントIDがあらかじめ決められており、
TechNetの「Troubleshooting Group Policy Using Event Logs」で解説されています。
だけど…英語なんです。
 
なけなしの英語力で見てみたら、こんなことが書いてあったので、まとめてみました。
 
■グループポリシーのイベント
ID4000-4007 グループポリシーが開始されたイベント
ID6000-6007 グループポリシーに関する警告
ID7000-7007 グループポリシーに関するエラー
ID8000-8007 グループポリシーの処理が完了したことを示すイベント
 
■グループポリシーコンポーネントのイベント
ID4016-4299 グループポリシーコンポーネントの処理が開始されたイベント
ID5000-5299 グループポリシーコンポーネントの処理が完了したことを示すイベント
ID6017-6299 グループポリシーコンポーネントに関する警告
ID6030-6999 グループポリシー情報(?)に関する警告
ID7017-7299 グループポリシーコンポーネントに関するエラー
ID7030-7999 グループポリシー情報(?)に関するエラー
 
 
ここからが本題です。
グループポリシーの処理に関して、クライアントコンピュータ側でイベントログをもとに
トラブルシューティングを行うときには、一連の処理をログで追跡することになります。
グループポリシーでは、GPO適用の処理ごとにActivityIDというIDを設定しており、
同じActivityIDを持つイベントログをフィルタし、そこからログを追っていけば、
問題の原因もつかみやすくなると思います。
(↓イベントログの詳細プロパティでActivityIDは確認できます)
 
 
ActivityIDをもとにイベントログのフィルタを設定するときは、
イベントビューアのクエリをカスタマイズする」で紹介したXPathクエリを書いて設定します。
あらかじめ、該当するイベントログのプロパティから、ActivityIDを調べ、
(↑簡単に言っているけど、これが結構難しい!間違ったActivityIDをひっぱってこないよう、タイムスタンプなどを参考にしましょう)
次のようなフィルタを書きます。
 
<QueryList>
 <Query Id=”0″ Path=”Application”>
  <Select Path=”Microsoft-Windows-GroupPolicy/Operational”>
   *[System/Correlation/@ActivityID='{INSERT ACTIVITY ID HERE}’]
  </Select>
 </Query>
</QueryList> 
 
赤太字の部分に調べてきたActivityIDを入れると、同じActivityIDを持つイベントログだけがフィルタされます。
この状態で、時系列にイベントを見ていけば、GPO処理のながれを追うことができます。
 
一連のGPO処理の流れはご覧のとおりです。 
 
処理  イベントID タイトル 説明
前処理 4000-4007 開始イベント 処理の開始
5310 アカウント情報 ドメインとコンピュータの情報を取得
5017 GPOの発見 Sysvolフォルダにアクセスし、GPOの情報を取得
5312 適用可能なGPO 適用可能なGPOの一覧を表示
5313 除外されたGPO フィルターなどで除外されたGPOの一覧を表示
5314 リンク速度 帯域幅の検出と高速リンクと低速リンクの判定
CSE 4016 開始 CSEによるポリシー適用処理の開始
5016 完了 CSEによるポリシー適用処理の完了
後処理 8000 – 8007 ポリシーの完了 ポリシーの完了
5315 次のポリシー処理 次回処理までの時間を通告
 
 適用するGPO設定がない場合は、CSEの処理をスキップします。
このほかのイベントIDで表示されるログもあるようで、
TechNetサイトの「Windows Server 2008 Event and Errors」の中にある「Group Policy Infrastructure」も
参考になりそうです(また英語か…がくっ)