GPO 管理用テンプレートの利用について
· 約5分
adm/admx テンプレートの違い、配置方法、運用のヒント(WMI フィルターや RSAT の活用)についてまとめたメモを整理しました。
概要
このメモは、グループポリシーで利用する管理用テンプレート(.adm / .admx)の違いと、導入・運用時の手順・注意点を整理したものです。特に複数 OS バージョンが混在する環境での設定適用や、テンプレート管理の効率化について解説します。
adm ファイル(旧来のテンプレート)
- GPO(グループポリシーオブジェクト)ごとに利用する adm ファイルを選択して適用する方式です。
- ファイルが肥大化しやすく、レガシーな運用になります。
適用手順(簡易):
- 対象の GPO を右クリックして「編集」を選択します。
- グループポリシー管理エディタで該当の構成にある「ポリシー」→「管理用テンプレート」を右クリックします。
- 「テンプレートの追加と削除」から adm ファイルを追加します。
INFO
adm は GPO に直接添付するため、テンプレート自体の管理が煩雑になりやすい点に注意してください。
admx ファイル(推奨される現在の方式)
- admx は中央管理(SYSVOL)に配置してドメイン全体で共有する方式です。言語ごとの .adml ファイル(例: ja-JP)も合わせて配置します。
- OS バージョンごとに異なるテンプレート項目を切り分けられない点はありますが、WMI フィルターを併用することで適用先を制御できます。
設置手順(例):
- 管理テンプレートを Microsoft からダウンロードします(.msi 等)。
- インストーラを実行するとテンプレートが展開されます(標準展開先:
C:\Program Files (x86)\Microsoft Group Policy\"テンプレートのOSバージョン名"\PolicyDefinitions)。 - 既存の
\\localhost\\SYSVOL\\example.com\\Policies\\PolicyDefinitionsをバックアップ(コピー)します。 - 展開された .admx / .adml ファイルを
PolicyDefinitionsに上書きします。 - グループポリシーエディタで更新が反映されていることを確認します。
注意点
グループポリシー管理エディタからは adx/adml の使用状況の判別が難しく、不要になったポリシーの整理が手間になることがあります。
便利ツール: AdmxPolicy (PowerShell モジュール)
https://github.com/stknohg/AdmxPolicy
インストール例(PowerShell):
Install-Module -Name AdmxPolicy -Scope CurrentUser
ファイル情報の確認例:
$admxPath = "C:\Windows\PolicyDefinitions\ActiveXInstallService.admx"
Get-AdmxFileInfo -FilePath $admxPath | Format-List
ポリシーの一覧を取得する例:
$admxPath = "C:\Windows\PolicyDefinitions\ActiveXInstallService.admx"
Get-AdmxPolicies -FilePath $admxPath | Format-List
特定の文字列でポリシーを抽出する例:
$admxPath = "C:\Windows\PolicyDefinitions\*.admx"
ls $admxPath | Get-AdmxPolicies | ? { $_.DisplayName -like "*特定のサイト*" }
出力例:
Name DisplayName FileName
---- ----------- --------
CookiesAllowedForUrls 特定のサイトで Cookie を許可する msedge.admx
CookiesBlockedForUrls 特定のサイトで Cookie をブロックする msedge.admx
...
OS バージョンごとに異なる GPO を適用したいとき(RSAT を使用した手法)
複数バージョンの Windows 10 クライアントが混在する OU では、以下のような運用が可能です。
- 各クライアントに RSAT を事前にインストールし、「グループポリシーの管理」を起動します。
- GPO を右クリックして「新規」からバージョン別の GPO(例:
GPO_1709,GPO_1803)を作成します。 - 各バージョン固有の設定をそれぞれの GPO に適用します(例: 1803 の端末向けに Microsoft Edge の項目、有効化)。
このままでは両方の GPO が同一 OU に対して同時に適用されてしまうため、適用先の制御が必要です。そこで WMI フィルターを使います。
WMI フィルターを用いた GPO の適用先制御
WMI フィルターを作成し、OS のバージョンで分岐させます。
例: 1803 向けの WMI フィルタ
名前: GPO_1803
名前空間: root\CIMv2
クエリ:
Select * from Win32_OperatingSystem where Caption like "Microsoft Windows 10%" and Version = "10.0.17134"
例: 1709 向けの WMI フィルタ
名前: GPO_1709
名前空間: root\CIMv2
クエリ:
Select * from Win32_OperatingSystem where Caption like "Microsoft Windows 10%" and Version = "10.0.16299"
作成後、対象の GPO を開いて下部の「WMI フィルター」から適切なフィルターを選択して紐付けます。
まとめ
- adm は GPO 単位で簡単にテンプレートを追加できるが、運用やスケール観点で問題が出やすい(肥大化、管理困難)。
- admx は中央管理で推奨されるが、OS 固有の項目が混在するため WMI フィルター等で適用先を制御する必要がある。
- AdmxPolicy のようなツールはテンプレートの解析や検索に役立つ。
- RSAT と WMI フィルターを組み合わせることで、バージョン別の GPO 運用が可能になる。
運用時のチェックポイント:
- テンプレートを上書きする前に必ず
PolicyDefinitionsのバックアップを取る。 - 使われなくなったテンプレートやポリシーは定期的に整理する(不要な .admx/.adml の削除や GPO の棚卸し)。
- WMI フィルターのクエリは正確性を確認し、テスト環境で検証してから本番に適用する。
参考
AdmxPolicy GitHub リポジトリ
コメント
コメントはまだありません