GPOが適用されると、グループ・ポリシーのエンジンは、適用した記録を残す。記録される場所は、以下のレジストリである。
これらのレジストリをチェックすることにより、どのGPOの、どのバージョンを、どのCSEが適用したのかを確認することができる。なお、どちらのキーも、管理者でなければ書き換えられないようなアクセス権になっている。
今回適用したLGPOには「管理用テンプレート」CSE({35378EAC-683F-11D2-A89A-00C04FBBCFA2})用のポリシーが設定されていたので、次のように記録されていた。
以上のレジストリ中にある「Version」は、適用したGPOのバージョンを示している。GPOのバージョンは、GPTのGPT.iniのVersionにある。バージョンの値の解釈については、連載第3回の「2.GPT:GPT.iniファイル」で述べたとおりである。コンピュータの構成とユーザーの構成のバージョンが合成された値になっているので、注意が必要だ。例えば「0x00010001」は、いずれのバージョンも1であるということを表している。
CSEにもよるが、基本的に、GPOのバージョンが、Historyキーに記録されているバージョンより新しければ、CSEはGPOを適用する。バージョンが一致していれば、すでに適用済みということを意味しているので、適用を省略する。
CSEにもよるが、基本的に、GPOとのリンクが切れた(適用されなくなった)場合、CSEはこれまでに適用したポリシーを削除する。例えば、「管理用テンプレート」CSEの場合、リンクの切れたGPOによって設定していたレジストリの値を基本的に削除する。
Historyキーはグループ・ポリシー全体の適用を記録したものだが、グループ・ポリシーの各CSEもそれぞれ必要に応じて、自分が適用したポリシーの記録を持っている。
「管理用テンプレート」CSEの場合は、これまでに適用した管理用テンプレートのポリシーの内容を、NTUser.polファイルに保存している。
ファイルの形式は、GPTのRegistry.polと同じである。リソース・キット・ツールのRegView.exeコマンドで内容を確認することができる(regviewコマンドについては第3回参照)。例えば、今回設定し適用したGPOの場合は、以下のような内容になっている。
C:\>d:regview "%AllUsersProfile%\ntuser.pol" …コンピュータの構成の表示
KeyName: Software\Policies\Microsoft\Windows\Group Policy Objects\ValueNa
me: **Comment:GPO Name: ValueType: REG_SZ
Value:
KeyName: Software\Microsoft\Windows\CurrentVersion\Policies\System
ValueName: VerboseStatus
ValueType: REG_DWORD
Value: 0x00000001
C:\>d:regview "%UserProfile%\ntuser.pol" …ユーザーの構成の表示
KeyName: Software\Policies\Microsoft\Windows\Group Policy Objects\ValueNa
me: **Comment:GPO Name: ValueType: REG_SZ
Value:
KeyName: Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop
ValueName: NoChangingWallPaper
ValueType: REG_DWORD
Value: 0x00000001
C:\>
NTUser.polには、GPTのRegistry.polファイルに基づいて「管理用テンプレート」CSEが設定したレジストリ(とコメント)が記録されていることが分かる。従って、今回の例の場合、Registry.polとNTUser.polはほとんど同じ内容になっている。
Copyright© Digital Advantage Corp. All Rights Reserved.