第7回 強化されたグループ・ポリシー機能Windows Server 2008 R2の真価(2/2 ページ)

» 2009年12月24日 00時00分 公開
[安納順一(エバンジェリスト)マイクロソフト株式会社]
前のページへ 1|2       

Windows Server 2008 R2 での新機能

 実をいうと、Windows Server 2008 R2 ではグループ・ポリシーそのものに関して「目に見える」大きな変更点はない。表4に、Windows Server 2008 R2におけるグループ・ポリシーの強化点を示す。

強化/追加された機能 内容
グループ・ポリシー用のWindows PowerShellコマンドレットの提供 Windows PowerShellコマンドレットにより、グループ・ポリシーの作成や変更、バックアップ、レポートの作成などを自動化できる。さらに、グループ・ポリシー・テンプレート・ファイル(ADMX)を作成することなく、業務アプリケーションの環境をグループ・ポリシーに組み込むことができるようになった
「グループ・ポリシーの基本設定」の機能強化 表2を参照のこと
システム・スターターGPOの標準提供 これまでダウンロード・センターで提供されていたWindows VistaおよびWindows XP用の「エンタープライズ クライアント (EC) 環境」および「セキュリティ特化 - 機能制限 (SSLF) 環境」に沿ったスターターGPOが標準で組み込まれている
強化されたユーザー・インターフェイス 従来は管理用テンプレートのポリシー設定画面は[設定][説明][コメント]という3つのタブに分かれていたが、1つのタブに集約された。また画面サイズが変更できるようになった
管理用テンプレートの強化 管理用テンプレートで、レジストリの複数行文字列値(REG_MULTI_SZ)および64bit QWORD値をサポートした
表4 Windows Server 2008 R2におけるグループ・ポリシーの強化点

 この中でも最も注目すべき強化点は、Windows PowerShellコマンドレットの提供だろう(PowerShellについては関連記事も参照)。表5に新しく提供されたWindows PowerShellコマンドレットの一覧を示す。それぞれのコマンドレットをご覧いただければ、一部を除き、およそ何を実行するためのものかは容易に想像がつくだろう。GPOのバックアップやレポート作成など、グループ・ポリシーに関する管理業務を自動化するのに使えそうなコマンドレット群であることが理解できる。

コマンドレット名 機能
Backup-GPO グループ・ポリシー・オブジェクト(GPO)をバックアップする
Copy-GPO 既存のGPOを複製する
Get-GPInheritance GPOの継承情報を取得する
Get-GPO GPOのインスタンスを取得する
Get-GPOReport 指定したGPOのレポートを生成する
Get-GPPermissions 指定したGPOのアクセス権を取得する
Get-GPPrefRegistryValue 基本設定内のレジストリ設定項目を取得する
Get-GPRegistryValue ポリシー内のレジストリ設定項目を取得する
Get-GPResultantSetOfPolicy ポリシー結果セット(RSOP)を取得する
Get-GPStarterGPO スターターGPOを取得する
Import-GPO バックアップされたGPOから設定値をインポートする
New-GPLink 新しいグループ・ポリシー・リンクを作成する
New-GPO 新しいGPOを作成する
New-GPStarterGPO 新しいスターターGPOを作成する
Remove-GPLink 既存のグループ・ポリシー・リンクを削除する
Remove-GPO 既存のGPOを削除する
Remove-GPPrefRegistryValue 指定した「基本設定」内のレジストリ設定項目を削除する
Remove-GPRegistryValue 指定した「ポリシー設定」内のレジストリ設定項目を削除する
Rename-GPO GPOの名前を変更する
Restore-GPO バックアップしたGPOを元のドメインに復元する
Set-GPInheritance GPOの継承情報を設定する
Set-GPLink グループ・ポリシー・リンクを変更する
Set-GPPermissions グループ・ポリシーのアクセス権を変更する
Set-GPPrefRegistryValue 「基本設定」内にレジストリ項目を設定する
Set-GPRegistryValue 「ポリシー設定」内にレジストリ項目を設定する
表5 Windows Server 2008 R2で新しく提供されたWindows PowerShellコマンドレットの一覧

 では、使用目的が見えづらい一部のコマンドレットとは何かといえば、間違いなく「Set-GPRegistryValue」だ。以下では、Set-GPRegistryValueを使ってグループ・ポリシーに設定を埋め込む方法について見ていこう。

業務アプリケーションの環境設定をグループ・ポリシーに組み込む

 グループ・ポリシーのメリットは、間違いなくその信頼性にある。マルチマスターをサポートしているActive Directoryドメイン・コントローラ間で複製され、どのドメイン・コントローラで認証を受けても最新の環境がクライアントとユーザーに適用される。さらには、規定で90分に1回のバックグラウンド更新(ドメイン・コントローラの場合には5分に1回)によって、管理者が変更した運用ポリシーを速やかに末端のクライアントまで伝達することができる。

 こうした仕組みを、スクラッチで開発しようとしても容易ではないことは想像に難くないし、業務アプリケーションをグループ・ポリシーの管理下に置きたいと考える管理者は多いはずだ。

 グループ・ポリシーでは、独自に作成された管理用テンプレート(ADMXファイル)を読み込む機構を用意しており、これによって業務アプリケーションの環境設定を信頼性の高いグループ・ポリシーに任せてしまうことができる。しかし、残念ながら多くの開発者がADMXファイルの作成方法を知らない、またはADMXファイルの存在自体が開発者に知られていないため、グループ・ポリシーを使用して業務アプリケーションが管理される場面は少ない。

【コラム】ADMX Editorについて

 マイクロソフトはADMXファイルを作成するための無償ツールとして、ADMX Editorを提供している(ADMXやADMX Editorの使い方については関連記事も参照)。このツールを使用すれば、比較的簡単に独自の管理用テンプレートを作成することができる。もちろん日本語を使用することも可能だ。しかし、設定項目が少なかったり、恒常的な環境変更が発生しない場合などは、かえってテンプレートの作成が面倒に思えることもあるはずだ。

画面4 ADMX Editorを使用するとADMXファイルを作成することができる

画面5 独自に作成したADMXファイルはグループ・ポリシー管理コンソールに読み込んで使用することができる

 ADMX Editorは、ADMX Migratorの一部としてマイクロソフトのダウンロード・センターから入手できる。ADMX Migratorとは、旧来の管理用テンプレート(ADMファイル)のフォーマットをADMXファイルに移行するためのツールだ。

 ADMXファイルを独自に作成した場合の運用方法については、以下を参考にしていただきたい。


Set-GPRegistryValueによる設定項目の埋め込み

 PowerShellを使ったグループ・ポリシーの編集でお勧めしたいのが、Set-GPRegistryValueだ。このコマンドレットを使用すると、独自の設定項目を、コマンドレットを使用して直接グループ・ポリシー・オブジェクトに埋め込むことができる。

図1 PowerShellを使ったグループ・ポリシーの編集
Windows Server 2008 R2からは、PowerShellコマンドレットを使用してグループ・ポリシーに業務アプリケーションの設定を埋め込むことができるようになった。もちろん従来通りADMXファイルを作成してグループ・ポリシー管理コンソールから操作することも可能だ。

 例えば、以下のレジストリ項目を、「GYOMU-GPO」というグループ・ポリシー・オブジェクトに埋め込んでみよう。

項目 内容
キー HKEY_LOCAL_MACHINE\Software\MyApplication
値の名前 ServerName
REG_SZ
値の内容 Server01
表 埋め込むレジストリの例

 まずドメイン・コントローラか、RSAT(リモート・サーバ管理ツール。TIPS「RSATツールでWindows Server 2008をリモート管理する」参照)がインストールされたクライアントで、PowerShellコンソールを起動し、以下のコマンドを入力する。これにより、グループ・ポリシー用モジュールが読み込まれる。

PS C:\>Import-Module GroupPolicy

 正しく読み込まれたかどうかを確認するには、以下のコマンドでグループ・ポリシー関連のコマンドレット一覧を参照する。

PS C:\> Get-Command -module GroupPolicy

 次に、Set-GPRegistryValueコマンドレットを使用して、上記のレジストリ項目をGYOMU-GPOに埋め込む。GYOMU-GPOはあらかじめグループ・ポリシー管理コンソールなどを使用して作成しておく必要がある。

PS > Set-GPRegistryValue -Name “GYOMU-GPO" -Key “HKLM\Software\MyApplication" -ValueName "ServerName“ -Value “Server01” -Type String

 以上で設定は完了だ。設定項目の洗い出しさえ済ませておけば、5分もあれば完了するだろう。

 今回はHKEY_LOCAL_MACHINE(HKLM)ハイブにレジストリ項目を埋め込んだので、設定値が有効になるのは、コンピュータの再起動後か、コマンドプロンプトから「gpupdate /force」コマンド(TIPS「gpupdateでグループ・ポリシーの適用を強制する」参照)を実行した後となる。

 たったこれだけの作業で独自の業務アプリケーションの環境設定をグループ・ポリシー配下に組み込むことができるのは非常にリーズナブルだろう。

 そのほか、Set-GPRegistryValue のさまざまな使い方については、筆者のブログでも取り上げているので参考にしていただきたい。

 では、Set-GPRegistryValueによってGPOに埋め込まれた設定はどのように確認すればよいだろうか? 実は、コマンドレットによって埋め込まれた値も、グループ・ポリシーのレポートに出力されるため、ほかの設定値とともに管理することができる。ちなみに、コマンドレットを使用してレポートを作成するには、以下のように「Get-GPOReport」コマンドレットを使用できる。これにより、レポートを自動的に定期生成することが可能だ。

PS C:\> Get-GPOReport -Name "GYOMU-GPO" -ReportType HTML -Path C:\tmp\GYOMU-GPO.

画面6 GPMCでグループ・ポリシーのレポートを確認する
Set-GPRegistryValueで埋め込んだレジストリ項目もレポートとして出力されるため、設定を見失うことはない。

 また、RSOP(グループ・ポリシーの結果セット)を参照すれば、本設定がコンピュータに適用されたかどうかを確認することができる。RSOPはグループ・ポリシー管理コンソールから「グループ ポリシーの結果」ウィザードを使用して生成することもできるが、レポート同様PowerShellコマンドレットからも生成可能だ。

PS C:\> Get-GPResultantSetOfPolicy -Computer PC01 -ReportType HTML -Path C:\tmp\PC01.html

 このように、Windows Server 2008 R2 ではグループ・ポリシー本体に大きな変更はないものの、PowerShellコマンドレットという強力な武器が用意されたことで、従来とは異なる管理スタイルが可能になった。


 今後も、グループ・ポリシーはエンタープライズ・レベルのWindowsスタンダードな構成管理基盤としてだけでなく、ユーザー・アプリケーションを含めたIT全体の管理基盤として進化し続けるだろう。


「Windows Server 2008 R2の真価 ―― 実質新世代サーバOSの真の実力を知る ――」のインデックス

Windows Server 2008 R2の真価 ―― 実質新世代サーバOSの真の実力を知る ――

前のページへ 1|2       

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

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

メールマガジン登録

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