Active Directoryは専ら、ユーザーアカウントを集中管理してシングルサインオンを実現する、あるいはユーザーアカウントにまつわる設定を集中管理する、といった使われ方が知られている。

しかし、グループポリシーを利用すると、ユーザーアカウントだけでなく、クライアントPCについても制御が可能だ。今回は、グループポリシーを利用してクライアントPCの設定をコントロールする例を、いくつか取り上げよう。

制御が可能なOS

Active Directoryで集中管理するユーザーアカウントを利用するのであれば、クライアントPCのOSはいろいろ利用可能だ。Windows 2000以降のOSだけでなく、Windows 9xやWindows NT、MacOSでも利用できる。

しかし、クライアントPCのOSが備える機能をActive Directoryからコントロールするとなると、事情が異なる。当初からActive Directoryに対応したOSでなければ、そうした使い方は実現できない。

具体的にいうと、対象はWindows 2000以降のWindowsに限定される。もっとも昨今では、クライアントPCのOSとしてWindows 9x/NTを利用している事例は少なくなっていると思われるので、このことが問題になる可能性は低いだろう。

サービスの動作に関する設定が必要な例

Windows NTとWindows 2000以降は、OSが備える機能が「サービス」として動作している。このサービスを起動するかどうかのコントロールを、グループポリシーによって設定できる。

クライアントPCで動作するサービスのうち、集中的に動作の可否をコントロールしたいものの一例として、[Computer Browser]サービスがある。これは、NetBIOSが提供する、ファイル/プリンタ共有機能が動作しているコンピュータの一覧表示を司るサービスだ。

Active Directoryからは脱線するが、かいつまんで説明しておこう。NetBIOSでは、ファイル/プリンタ共有機能が動作しているコンピュータの一覧を表示する機能があり、たとえばnet viewコマンドによって一覧を確認できる。この機能はどうやって実現しているかというと、同一ネットワーク内に1台、「マスタブラウザ」と呼ばれるコンピュータを自動的に選出して、そのマスタブラウザに対して他のコンピュータが「登録」を行う仕組みになっている。

そして、そのマスタブラウザの機能を実現するのがComputer Browserサービスだ。このサービスが動作しているコンピュータの中から、一定のルールに従って自動的に、マスタブラウザを選出する仕組みになっている。基本的にはサーバ系Windowsの方が優先度が高いのだが、何かの拍子にクライアントPCがマスタブラウザになってしまう可能性もある。

ところが、常に動作していることが前提になるサーバと異なり、クライアントPCは用が済むとスリープしたり、休止状態に入れたり、あるいはシャットダウンしたりする可能性が高い。するとマスタブラウザが消えてしまい、選定と登録のプロセスがやり直しになる。当然ながら、その間は一覧表示の内容が不完全になる。

そもそも、NetBIOSのコンピュータ一覧表示機能をどれだけ使っているのか、という問題はあるが、そういう話を抜きにすれば、マスタブラウザになるコンピュータはできるだけ変動しない方が良い。そこで、クライアントPCで動作するComputer Browserサービスを停止させる方が好ましいという話になり、それを無理なく実現する手段としてグループポリシーが登場する、という構図になる。

ポリシー項目[システムサービス]の設定

サービスの動作について、可否を設定する際に使用するポリシー項目は、[コンピュータの構成]-[(ポリシー)]-[Windowsの設定]-[セキュリティの設定]-[システムサービス]である。このポリシー項目ではWindowsのサービスごとに、以下の設定を行うことができる。

  • このポリシーの設定を定義する : このチェックボックスをオンにすると、ポリシー項目の設定が有効になる
  • サービスのスタートアップモード : [自動][手動][無効]のいずれかから選択する。サービスを停止させるのであれば[無効]を指定する
  • サービスに対するアクセス権 : [セキュリティの編集]をクリックして、アクセス許可を設定できる。通常は、既定値から変更する必要はないだろう。

[Computer Browser]サービスを停止させるのであれば、[システムサービス]以下にあるサービス一覧の中から[Computer Browser]をダブルクリックしてダイアログを表示させて、[このポリシーの設定を定義する]チェックボックスをオンに、さらに[サービスのスタートアップモード]を[無効]に変更して、[OK]をクリックすればよい。

[コンピュータの構成]-[(ポリシー)]-[Windowsの設定]-[セキュリティの設定]-[システムサービス]には、サービスの一覧が現れる。この中から、設定対象にしたいサービス名をダブルクリック、あるいは右クリックメニューで[プロパティ]を選択して、設定用のダイアログを表示させる

続いて表示するダイアログを使って、サービスを強制的に停止させたり、動作させたりする設定が可能だ。クライアントPCで動作させたくないサービスを強制停止する場合に活用できる

セキュリティ設定も可能だが、これはサービスを強制的に動作させる際に意味を持つもので、強制的に停止させるだけなら設定変更の必要はないはずだ

グループポリシーを使ったINIファイルの作成

最近では少なくなったかもしれないが、依然としてレジストリではなく「.INI」ファイルに設定情報を書き込むソフトウェアは存在する。レジストリならグループポリシーによる制御が可能だが、従来は「.INI」ファイルは制御の対象外だった。

しかし、Windows Server 2008からグループポリシーの機能が拡張されて、「*.INI」ファイルの内容をグループポリシーによって定義できるようになった。

この機能は、グループポリシーによって設定できる。ユーザーごとの設定とコンピュータごとの設定のそれぞれについて指定できるので、状況に応じて使い分けたい。使用するポリシー項目は以下のものだ。

  • [コンピュータの構成]-[基本設定]-[Windowsの設定]-[iniファイル]
  • [ユーザーの構成]-[基本設定]-[Windowsの設定]-[iniファイル]

画面右側の一覧は、初期状態では空白になっているが、そこで右クリックして[新規作成]-[iniファイル]を選択することで、設定を追加する仕組みだ。

続いて表示するダイアログで、作成・置換・更新・削除の別に加えて、対象となる「*.INI」ファイルの場所とファイル名、さらにセクション名・値といった項目を設定する。ファイルの場所については、(環境変数ではなく)絶対パスで指定する必要があるようだ。

余談だが、同じ要領でレジストリの設定もできる。使用するポリシー項目は以下の通りだ。

  • [コンピュータの構成]-[基本設定]-[Windowsの設定]-[レジストリ]
  • [ユーザーの構成]-[基本設定]-[Windowsの設定]-[レジストリ]

「*.INI」ファイルをグループポリシーでコントロールする場合、設定の新規作成が必要になる

最初に、作成・置換・更新・削除の別を選択する

ファイル名、ファイルの場所、セクション名などを指定する

実は、ポリシー項目は異なるが、同じ要領でレジストリのコントロールも可能だ