今年の春に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」も
参考になりそうです(また英語か…がくっ)