連載
» 2006年06月08日 00時00分 公開

グループ・ポリシーのしくみ:第4回 グループ・ポリシーの適用 (3/4)

[畑中哲,著]

管理用テンプレート:「未構成」

 ここまで、「管理用テンプレート」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値も削除されているはずである。

 このとき、次のようなことが起きている。

  1. GPOのバージョンが、Historyキーに記録されている「管理用テンプレート」CSEが適用済みのGPOのバージョンより新しいので、「管理用テンプレート」CSEが呼び出される。
  2. 「管理用テンプレート」CSEは、GPTからRegistry.polを読み取り、%AllUsersProfile%と%UserProfile%からNTUser.polも読み取る。これらを参照することにより、いまやGPOには存在しないポリシー(「未構成」になったポリシー)を以前設定していたことを検出する。
  3. 「管理用テンプレート」CSEは、それらのもはやGPOに存在しないレジストリの値(「未構成」になったレジストリの値)を削除する。レジストリから値を削除したので、値を設定した記録であるNTUser.polからも削除する。

 このように、グループ・ポリシーの「管理用テンプレート」CSEは、ポリシーをRegistry.polファイルに保存し、そのポリシーを適用した記録をNTUser.polファイルに保存し、変更されたポリシーとこれまでに適用したポリシーとの両方を参照することによって、本当の意味でのポリシーの「未構成」を実現している。

 つまり、ポリシーを「未構成」にすれば、

  • 以前そのポリシーを有効または無効にしていた場合は、
    →レジストリの値を削除する。システムはデフォルトの動作に戻る。
  • 以前からポリシーが未構成の場合は、
    →何もしない。

となる。

 GPOとのリンクが切れた場合(適用されなくなった場合)も、未構成と同様に、そのGPOのポリシーで設定していたレジストリを削除する。

 また、「未構成」にした後、もし各コンピュータ上でレジストリ・エディタなどでレジストリに直接値が設定された場合は、その値に対して「管理用テンプレート」CSEは何もしない。値はそのままレジストリに残る。

 このようにグループ・ポリシーの管理用テンプレートのポリシーでは、「未構成」が管理者の期待通りに動作するようになっており、システム・ポリシーのような「tattoo effect」は基本的になくなっている(tattoo effectについては第2回の記事参照)。このような管理用テンプレートのポリシーは、「管理されているポリシー」あるいは「完全に管理されているポリシー」あるいは(狭い意味で)単に「ポリシー」と呼ばれる。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。