第3回 グループ・ポリシーの設定ファイル:グループ・ポリシーのしくみ(4/4 ページ)
GPで設定される情報を定義する管理用テンプレートや、設定された情報がどのようにしてクライアントに渡されているかについて解説。
GPT:\Machineフォルダと\Userフォルダ
GPTの\Machineフォルダと\Userフォルダは、ポリシーの内容そのものが保存される場所である。\Machineフォルダには「コンピュータの構成」が、\Userフォルダには「ユーザーの構成」がそれぞれ保存されている。これらのフォルダは、各サーバ側拡張が情報をファイルにして保存する標準的な場所とされている。だが拡張によっては、これ以外の独自の場所に情報を保存するものもある。すでに述べているように、拡張の動作は、各拡張によって異なる。 「管理用テンプレート」のサーバ側拡張の動作は標準どおりであり、GPTの\Machineフォルダと\Userフォルダに、Registry.polというファイル名で情報を保存する。管理用テンプレート・ファイル(.admファイル)に基づいてグループ・ポリシー・エディタ上でポリシーの有効/無効/未構成、およびその詳細を設定した内容は、このRegistry.polファイルに保存されている。
GPTの\Adm内のファイル
GPTの\Machinieフォルダには「コンピュータの構成」が、\Userフォルダには「ユーザーの構成」が、それぞれ保存されている。
(1)「コンピュータの構成」が保存される場所。
(2)「管理用テンプレート」のサーバ側拡張が、コンピュータ(HKEY_LOCAL_MACHINE)に対するレジストリ設定の内容を保存したファイル。
(3)「ユーザーの構成」が保存される場所。
(4)「管理用テンプレート」のサーバ側拡張が、ユーザー(HKEY_CURRENT_USER)に対するレジストリ設定の内容を保存したファイル。
「管理用テンプレート」以外のサーバ側拡張でポリシーを設定すると、Registry.pol以外のファイルやフォルダに情報が保存される。しかしGPTの\Machineフォルダの内容が「コンピュータの構成」であり、\Userフォルダの内容が「ユーザーの構成」であるという基本的な点は同じだ。例えば、「スクリプト」のサーバ側拡張は、[コンピュータの構成]−[Windows の設定]−[スクリプト (スタートアップ/シャットダウン)]で設定した内容をGPTの\Machine\Scriptsフォルダに保存するし、[ユーザーの構成]−[Windows の設定]−[スクリプト (ログオン/ログオフ)]で設定した内容は\User\Scriptsフォルダに保存する。
GPT:Registry.polファイル
では、「管理用テンプレート」のサーバ側拡張が設定内容を保存したRegistry.polファイルとは、どのようなものだろうか。「管理用テンプレート」拡張はレジストリ一般の値を設定するものだから、当然、設定するレジストリの情報が保存されている。システム・ポリシーのポリシー・ファイル(NTConfig.polなど)に相当するものだ。今回の例では、次の2つのレジストリ設定内容が保存されていることになる。
- [ユーザーの構成]−[管理用テンプレート]−[コントロール パネル]−[画面]の[壁紙を変更できないようにする]を有効にする
- [コンピュータの構成]−[管理用テンプレート]−[システム]の[詳細な状態メッセージを表示する]を有効にする
Registry.polファイルの内容
システム・ポリシーのポリシー・ファイルの実体はレジストリ・ハイブであり、その内容を見るにはレジストリ・エディタにハイブをロードする必要があることはすでに述べた(連載第1回「3.システム・ポリシー(2)」参照)。グループ・ポリシーの管理用テンプレートのRegistry.polはテキストとバイナリのハイブリッドのようなファイルになっている(いまならXMLにでもするところだろうか)。
Registry.polファイルの中身は、ポリシーによって設定するレジストリを
[キー;値;種類;データのサイズ;データ]
という単位で列挙した形式になっている。キーと値以外はバイナリになることが多いので、メモ帳などで開いても残念ながら内容は完全には分からない。幸い、簡単に内容を確認するためのツールRegView.exeがリソース・キットで提供されているので、それを利用するとよい。
今回設定した管理用テンプレートのポリシーが、どのようにRegistry.polに保存されているかは、RegView.exeツールを使えば、次のように確認できる。
C:\WINDOWS\system32\GroupPolicy>d:regview user\registry.pol
KeyName: Software\Microsoft\Windows\CurrentVersion
\Policies\ActiveDesktop
ValueName: NoChangingWallPaper
ValueType: REG_DWORD
Value: 0x00000001
C:\WINDOWS\system32\GroupPolicy>d:regview machine\registry.pol
KeyName: Software\Microsoft\Windows\CurrentVersion
\Policies\System
ValueName: VerboseStatus
ValueType: REG_DWORD
Value: 0x00000001
C:\WINDOWS\system32\GroupPolicy>
このように、管理用テンプレート・ファイル(System.adm)の定義に従って、次のようなポリシー設定が保存されていることが分かる。
- \User\Registry.pol
[ユーザーの構成]−[管理用テンプレート]−[コントロール パネル]−[画面]の[壁紙を変更できないようにする]を有効にするために、Software \Microsoft \Windows \CurrentVersion \Policies \ActiveDesktopキーのDWORD値NoChangingWallPaperを1にセットする - \Machine\Registry.pol
[コンピュータの構成]−[管理用テンプレート]−[システム]の[詳細な状態メッセージを表示する]を有効にするために、Software \Microsoft \Windows \CurrentVersion \Policies \SystemキーのDWORD値VerboseStatusを1にセットする
これらの設定をRegistry.polから「管理用テンプレート」クライアント側拡張(CSE)が読み取り、必要に応じてユーザーのレジストリ(HKEY_CURRENT_USER)とコンピュータのレジストリ(HKEY_LOCAL_MACHINE)とに対して適用するというわけだ。
今回は、グループ・ポリシーにおける管理用テンプレートと、それによって設定される内容やしくみなどについて解説した。次回は、これらのポリシーを実際にシステムに適用し、どのように動作するかを見ていこう。
Copyright© Digital Advantage Corp. All Rights Reserved.