第4回 グループ・ポリシーの適用:グループ・ポリシーのしくみ(3/4 ページ)
GPはいつどのように適用されるのか? 適用によりコンピュータ内部では何が起こっているのか? 管理用テンプレート「未構成」の意味とは?
管理用テンプレート:「未構成」
ここまで、「管理用テンプレート」CSEを中心に、LGPOが適用された例を見てきた。ここで、管理用テンプレートのポリシーには、「有効」「無効」「未構成」の3つの状態があったことを思い出してほしい。これまでの例は、「有効」にしたものだった。では、そのポリシーを「未構成」に変更するとどうなるのかについて見てみよう。
「有効」にしていた管理用テンプレートのポリシーを「未構成」に変更する
現在ログオンしているユーザー(user2)はログオフし、管理者アカウントでログオンする。そしてグループ・ポリシー・エディタでLGPOを開き(gpedit.mscを起動し)、先ほど「有効」にした2つの管理用テンプレートのポリシーを「未構成」にしてみよう。具体的には、次のようなポリシーを無効に設定する。
- [コンピュータの構成]−[管理用テンプレート]−[システム]の[詳細な状態メッセージを表示する]
- [ユーザーの構成]−[管理用テンプレート]−[コントロール パネル]−[画面]の[壁紙を変更できないようにする]
[詳細な状態メッセージを表示する]を[未構成]にする
有効にしていた[コンピュータの構成]−[管理用テンプレート]−[システム]の[詳細な状態メッセージを表示する]ポリシーを未構成にする。
(1)対象となる項目。
(2)これを未構成にする。
[壁紙を変更できないようにする]を[未構成]にする
有効にしていた[ユーザーの構成]−[管理用テンプレート]−[コントロール パネル]−[画面]の[壁紙を変更できないようにする]ポリシーを未構成にする。
(1)対象となる項目。
(2)これを未構成にする。
これらを[未構成]にして、[OK]をクリックする。これにより、GPTのRegistry.polから、これらのポリシーに対応したレジストリの値の設定が削除される。Registry.polの内容を確認してみると、以下のように何も表示されず、空になっていることが分かる。
C:\WINDOWS\system32\GroupPolicy>d:regview user\registry.pol …内容の表示
C:\WINDOWS\system32\GroupPolicy>d:regview machine\registry.pol …内容の表示
C:\WINDOWS\system32\GroupPolicy>
この例では、コンピュータの構成とユーザーの構成をそれぞれ1つずつ変更したので、GPOのバージョン(GPTのGPT.iniファイル中のVersionの値)は65537(0x00010001)増え、131074(0x00020002)となる。またいままで設定していた管理用テンプレートのポリシーを2つとも未構成にしたので、設定したポリシーはなくなり、gPCUserExtensionNamesとgPCMachineExtensionNamesにあった「管理用テンプレート」CSEを示す指定もなくなっている。
※ファイルGPT.iniの内容
[General]
gPCFunctionalityVersion=2
gPCUserExtensionNames=
Version=131074
gPCMachineExtensionNames=
「未構成」にしたポリシーを適用する
では、コンピュータを再起動して先ほどポリシーが適用されたユーザー(user2)として再びログオンしてみよう。
すると、グループ・ポリシーを適用する前の、デフォルトの状態に戻っていることが分かるだろう。コンピュータの起動時やログオン時に詳細なメッセージは出なくなるし、ユーザーは壁紙を変更できるようになっている。レジストリを確認すると、HKEY_CURRENT_USERのNoChangingWallPaper値も、HKEY_LOCAL_MACHINEのVerboseStatus値も削除されているはずである。
このとき、次のようなことが起きている。
- GPOのバージョンが、Historyキーに記録されている「管理用テンプレート」CSEが適用済みのGPOのバージョンより新しいので、「管理用テンプレート」CSEが呼び出される。
- 「管理用テンプレート」CSEは、GPTからRegistry.polを読み取り、%AllUsersProfile%と%UserProfile%からNTUser.polも読み取る。これらを参照することにより、いまやGPOには存在しないポリシー(「未構成」になったポリシー)を以前設定していたことを検出する。
- 「管理用テンプレート」CSEは、それらのもはやGPOに存在しないレジストリの値(「未構成」になったレジストリの値)を削除する。レジストリから値を削除したので、値を設定した記録であるNTUser.polからも削除する。
このように、グループ・ポリシーの「管理用テンプレート」CSEは、ポリシーをRegistry.polファイルに保存し、そのポリシーを適用した記録をNTUser.polファイルに保存し、変更されたポリシーとこれまでに適用したポリシーとの両方を参照することによって、本当の意味でのポリシーの「未構成」を実現している。
つまり、ポリシーを「未構成」にすれば、
- 以前そのポリシーを有効または無効にしていた場合は、
→レジストリの値を削除する。システムはデフォルトの動作に戻る。 - 以前からポリシーが未構成の場合は、
→何もしない。
となる。
GPOとのリンクが切れた場合(適用されなくなった場合)も、未構成と同様に、そのGPOのポリシーで設定していたレジストリを削除する。
また、「未構成」にした後、もし各コンピュータ上でレジストリ・エディタなどでレジストリに直接値が設定された場合は、その値に対して「管理用テンプレート」CSEは何もしない。値はそのままレジストリに残る。
このようにグループ・ポリシーの管理用テンプレートのポリシーでは、「未構成」が管理者の期待通りに動作するようになっており、システム・ポリシーのような「tattoo effect」は基本的になくなっている(tattoo effectについては第2回の記事参照)。このような管理用テンプレートのポリシーは、「管理されているポリシー」あるいは「完全に管理されているポリシー」あるいは(狭い意味で)単に「ポリシー」と呼ばれる。
Copyright© Digital Advantage Corp. All Rights Reserved.