連載
» 2006年01月31日 00時00分 公開

グループ・ポリシーのしくみ:第1回 システム設定とシステム・ポリシー (3/4)

[畑中哲,著]

 Windowsでは、このように負担の大きいカスタム・ソリューションではなく、統一的管理のための枠組みを以前からある程度標準提供してきていた。認証を一括して行う「ドメイン」という仕組みがその中核であるが、ここでは設定の管理という面に注目してみよう。

 統一的な設定が欠かせないものの代表は「レジストリ」である。Windows OSでは、レジストリを統一管理するための仕組みとして「システム・ポリシー」という機能が用意されていた。システム・ポリシーはWindows NTだけでなくWindows 9xでも利用できる仕組みである。システム・ポリシーはすでに「レガシー(過去のもの)」と位置付けられているが、まずこの概要を理解しておくことはグループ・ポリシーを理解するうえでも有益である。今回は、このシステム・ポリシーについて見ていく。

 システム・ポリシーを簡単にいうと、GUIのエディタ(システム・ポリシー・エディタ)で設定したレジストリ設定(「ポリシー」と呼ぶ)を、コンピュータに配布する仕組みである。ポリシーに対応したWindowsコンポーネントは、ポリシーで設定されたレジストリ値に従って動作する。

 ポリシーは、コンピュータ/ユーザー/グループごとに設定することができる。以下は、Windows NTのシステム・ポリシー・エディタの画面である。

システム・ポリシー・エディタ
システム・ポリシーでは、コンピュータやユーザー、グループごとにポリシーを設定することができる。
 (1)デフォルトでコンピュータに適用されるポリシー。
 (2)デフォルトでユーザーに適用されるポリシー。
 (3)特定のユーザーにだけ適用されるポリシー。この画面ではuser1というユーザーにだけ適用される。
 (4)特定のグループにだけ適用されるポリシー。この画面ではTestGroup1というグループにだけ適用される。

 まず必要なレジストリ設定をシステム・ポリシー・エディタ(PolEdit.exe)上で行う(ちなみにこのときシステム・ポリシー・エディタは、設定対象OSに合わせたOSで実行しなければならない。例えばWindows 9xに対するポリシー設定はWindows 9xでシステム・ポリシー・エディタを実行する必要がある)。

ポリシーの3つの状態

 ポリシーはカテゴリ別にツリー上に分類され、各ポリシーのチェック・ボックスは、チェック・オン/チェック・オフ/グレーの3つの状態がある。

チェック・ボックス 状態 効果
チェック・オン 有効 ポリシーが有効になるように、レジストリを設定する
チェック・オフ 無効 有効を打ち消すように、レジストリを設定または削除する
グレー 未構成 何もしない
システム・ポリシーにおける3つの設定状態
ポリシーの各項目は、それぞれこの3つの状態を取る。デフォルトではグレーの「未構成」という状態になっている。

壁紙の設定/変更例

 システム・ポリシーを使って、不心得者が不適切な壁紙に変更するのを防ぎ、組織標準の壁紙を強制する場合を考えてみよう。

 不心得者に対するユーザーごとのポリシーを開き、[コントロール パネル]−[画面]−[コントロール パネルの [画面] を制限する]の[[背景] ページを隠す]を有効にする。これによって、そのユーザーがログオンするとレジストリHKEY_CURRENT_USERのSoftware\Microsoft\Windows\CurrentVersion\Policies\Systemキーにある NoDispBackgroundPage値に1がセットされる。[画面]コントロール・パネルはシステム・ポリシーに対応しており、レジストリにこの値がセットされていると、コントロール・パネルに[背景]タブは出てこなくなる。

ユーザーの[画面]コントロール・パネルから[背景]タブを削除するポリシー
ポリシーはカテゴリ別にツリー状に表示される。各ポリシーは特定のレジストリに対応しており、ポリシー適用対象ユーザー(この画面ではuser1)がログオンすると、特定のレジストリ値が設定される。
 (1)ポリシーの適用対象。画面ではuser1というユーザー。
 (2)ツリーの中の編集中のポリシー。チェック・オン、チェック・オフ、グレーの3つの状態があり、この画面ではオン(ポリシーが有効)になっている。
 (3)編集中のポリシーの詳細。ここでは、[コントロール パネルの[画面]を制限する]を有効にしたうえで、さらにその内容を編集している。[[背景]ページを隠す]だけをオンにし、[背景]タブだけを隠すように設定している(ユーザーのレジストリのNoDispBackgroundPage値に1がセットされる)。

 そして、[デスクトップ]−[壁紙]では、壁紙ファイル名を指定する。これにより、このポリシーの適用対象ユーザーがログオンすると、HKEY_CURRENT_USERのControl Panel\DesktopキーにあるWallpaperName値に指定したファイル名がセットされ、そのファイルが壁紙としてロードされる。

壁紙を指定するポリシーの設定
同じuser1というユーザーにだけ適用されるポリシーで、別カテゴリのポリシーを有効にして、壁紙ファイル名を指定する。
 (1)[壁紙]ポリシーのチェック・ボックスをオンにして有効にしている。
 (2)同じデスクトップのカテゴリにある[配色]ポリシーはグレーのまま(配色に関するレジストリには何もしない)。
 (3)有効にした[壁紙]ポリシーの詳細内容。個々で指定した壁紙ファイル名が、ユーザーのレジストリに設定される。ここではユーザーのレジストリのWallpaperName値にc:\winnt\company.bmpがセットされる。

ポリシー・テンプレート

 それぞれのポリシーがどのレジストリのどの値をどのように設定するかは、ポリシー・テンプレートと呼ばれる構造化されたテキスト・ファイル(%SystemRoot%\inf\*.adm)に書かれている。

 標準のポリシー・テンプレートにはないレジストリをシステム・ポリシーで設定したい場合は、管理者が一定の書式に従ってこのポリシー・テンプレートを作成すれば、容易に追加することができる。自作したテンプレートは、システム・ポリシー・エディタに追加読み込みさせると、既存のテンプレートと同様にGUIベースのツールでポリシーを設定できる。

CATEGORY !!ControlPanel
  CATEGORY !!CPL_Display
    POLICY !!CPL_Display_Restrict
    KEYNAME Software\Microsoft\Windows\CurrentVersion\Policies\System

      PART !!CPL_Display_Disable      CHECKBOX
      VALUENAME NoDispCPL
      END PART

      PART !!CPL_Display_HideBkgnd    CHECKBOX
      VALUENAME NoDispBackgroundPage
      END PART

      PART !!CPL_Display_HideScrsav   CHECKBOX
      VALUENAME NoDispScrSavPage
      END PART

      PART !!CPL_Display_HideAppearance  CHECKBOX
      VALUENAME NoDispAppearancePage
      END PART

      PART !!CPL_Display_HideSettings  CHECKBOX
      VALUENAME NoDispSettingsPage
      END PART
    END POLICY
  END CATEGORY  ; Display

END CATEGORY  ; Control Panel

システム・ポリシー・テンプレートの例(一部)
これはCommon.admテンプレートの一部。システム・ポリシーの[コントロール パネル]−[画面]−[コントロール パネルの [画面] を制限する]の−[[背景] ページを隠す]を定義している部分。「ユーザーのSoftware\Microsoft\Windows\CurrentVersion\Policies\SystemキーのNoDispBackgroundPageに設定する値をチェック・ボックスで切り替える」という定義になっている。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

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

メールマガジン登録

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