Q

Windows XP Professionalをワークグループ構成で使っています。利用者ごとに環境を制御しようと思い,「gpedit.msc」を起動してローカル・ポリシーを設定してみたのですが,設定を変更すると,管理者であるAdministratorを含むすべてのアカウントに対して設定が適用されてしまうため困っています。Active Directoryを利用すればアカウント単位の制御ができるのは分かっているのですが,ワークグループ構成のままで何とかならないでしょうか。

A

Windows 2000以降の機能であるローカル・ポリシーでは,基本的にアカウント単位での制御はできません。ただしローカル・ポリシーが格納されているファイルのアクセス権を制御することで,特定のアカウントに対するローカル・ポリシーの適用を抑止することは可能です。以下でその方法について説明します。


図1●ローカル・ポリシーの実体
ユーザーのローカル・ポリシーを作成すると,%SystemRoot%\System32
\GroupPolicy\User以下に,Registry.polという名称のファイルが作成される。

 [ファイル名を指定して実行]によって「gpedit.msc」を起動してユーザーのローカル・ポリシーを作成すると,%SystemRoot%\System32\GroupPolicy\User以下に,図1のようにしてRegistry.polという名称のファイルが作成されます

 このファイルは,通常すべての認証ユーザーを示す[Authenticated Users]に読み取り権限が設定されているため,事実上どのアカウントからでも参照することが可能です。これを例えばAdministratorsグループに対して図2のように拒否のアクセス権を明示的に設定することで,Administratorsに対してローカル・ポリシーの適用を抑止することが可能になります。この方法はWindows 2000 Professionalにも適用可能です。


図2●ローカル・ポリシー・ファイルのアクセス権を制限
例えばAdministratorsグループに対して拒否のアクセス権を設定することで,Administratorsに関するローカル・ポリシーの適用を抑止できる。

 なおこの設定を行うと,ローカル・ポリシー・ファイルへのアクセスを拒否したアカウントやグループ(上記の例ではAdministrators)からはローカル・ポリシーの参照や編集もできなくなってしまいます。そのため,ポリシーを編集するときだけ一時的にアクセス権を与えるといった運用が必要になります。

システム・ポリシーを使うと可能に
 このように,トリッキーな方法を利用することで,特定のアカウントに対するローカル・ポリシーの適用を除外することはできますが,それでも元々の要望にある利用者ごとの環境の制御はできません。どうしても利用者ごとの環境の制御が必要な場合は,Windows NT互換の機能として残されているシステム・ポリシーを利用するとよいでしょう。


図3●Windows 2000/XPでNTのシステム・ポリシーを利用する
利用者ごとの環境の制御が必要な場合は,Windows NT互換の機能として残されているシステム・ポリシーを利用する。任意のアカウントやグループ固有の設定を行うことが可能である。

 システム・ポリシーはpoledit.exeというツールで作成します。起動した後,[ファイル]-[新規作成]で新しいシステム・ポリシーを作成した上で,[編集]-[ユーザーの追加]([グループの追加])で,図3のように任意のアカウントやグループをシステム・ポリシーに追加すると,そのアカウント固有の設定が可能になります。

 作成したら任意のファイル名(通常は拡張子POL)で保存しておきます。作成したシステム・ポリシー・ファイルを有効にするには,レジストリ・エディタで
「HKEY_LOCAL_MACHINE\System\
CurrentControlSet\Control\Update」に以下のレジストリを設定して再起動してください。

REG_DWORD: UpdateMode: 2
REG_SZ : NetworkPath: <システム・ポリシー・ファイルのフルパス名>

 システム・ポリシーは,Windows NTの機能であるため,Windows 2000/XPで追加された機能に関する設定はありません。ただし,ADMファイルというテキスト形式で記述されたシステム・ポリシーのテンプレート・ファイルを作成することで,レジストリで設定可能な任意の設定を追加可能で,Windows 2000/XPにも対応させることが可能です。作成したADMファイルはpoledit.exeで[オプション]-[ポリシーテンプレート]を実行すると現れる図4の画面から読み込みます。


図4●システム・ポリシーのテンプレート・ファイルを追加する
システム・ポリシーには,Windows 2000/XPで追加された機能に関する設定は含まれていないが,テンプレート・ファイルを作成することで,任意の設定を追加可能である。

 このようにシステム・ポリシーを利用することで,ワークグループ構成のWindows 2000/XP Professionalでも利用者ごとの環境構築を実現することが可能になります。関連する技術情報として,「JP274478,NT 4.0ドメイン/ワークグループ内のProfessionalクライアントへのグループポリシー」も参照してください。

システム・ポリシー特有の注意点がある
 ただし,ローカル・ポリシーとシステム・ポリシーには使い方に多少違いがあるので注意してください。ローカル・ポリシーの場合は設定を無効にすると当該の設定はローカル・ポリシー適用前の設定に戻ります。これに対し,システム・ポリシーの場合,一度適用して設定を変更してしまうと,その後で無効にしても当該の設定は元に戻りません。

高橋基信