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の設定]-[セキュリティの設定]-[システムサービス]には、サービスの一覧が現れる。この中から、設定対象にしたいサービス名をダブルクリック、あるいは右クリックメニューで[プロパティ]を選択して、設定用のダイアログを表示させる |
グループポリシーを使ったINIファイルの作成
最近では少なくなったかもしれないが、依然としてレジストリではなく「.INI」ファイルに設定情報を書き込むソフトウェアは存在する。レジストリならグループポリシーによる制御が可能だが、従来は「.INI」ファイルは制御の対象外だった。
しかし、Windows Server 2008からグループポリシーの機能が拡張されて、「*.INI」ファイルの内容をグループポリシーによって定義できるようになった。
この機能は、グループポリシーによって設定できる。ユーザーごとの設定とコンピュータごとの設定のそれぞれについて指定できるので、状況に応じて使い分けたい。使用するポリシー項目は以下のものだ。
- [コンピュータの構成]-[基本設定]-[Windowsの設定]-[iniファイル]
- [ユーザーの構成]-[基本設定]-[Windowsの設定]-[iniファイル]
画面右側の一覧は、初期状態では空白になっているが、そこで右クリックして[新規作成]-[iniファイル]を選択することで、設定を追加する仕組みだ。
続いて表示するダイアログで、作成・置換・更新・削除の別に加えて、対象となる「*.INI」ファイルの場所とファイル名、さらにセクション名・値といった項目を設定する。ファイルの場所については、(環境変数ではなく)絶対パスで指定する必要があるようだ。
余談だが、同じ要領でレジストリの設定もできる。使用するポリシー項目は以下の通りだ。
- [コンピュータの構成]-[基本設定]-[Windowsの設定]-[レジストリ]
- [ユーザーの構成]-[基本設定]-[Windowsの設定]-[レジストリ]