メインコンテンツまでスキップ

GPO 管理用テンプレートの利用について

· 約5分

adm/admx テンプレートの違い、配置方法、運用のヒント(WMI フィルターや RSAT の活用)についてまとめたメモを整理しました。

概要

このメモは、グループポリシーで利用する管理用テンプレート(.adm / .admx)の違いと、導入・運用時の手順・注意点を整理したものです。特に複数 OS バージョンが混在する環境での設定適用や、テンプレート管理の効率化について解説します。

adm ファイル(旧来のテンプレート)

  • GPO(グループポリシーオブジェクト)ごとに利用する adm ファイルを選択して適用する方式です。
  • ファイルが肥大化しやすく、レガシーな運用になります。

適用手順(簡易):

  1. 対象の GPO を右クリックして「編集」を選択します。
  2. グループポリシー管理エディタで該当の構成にある「ポリシー」→「管理用テンプレート」を右クリックします。
  3. 「テンプレートの追加と削除」から adm ファイルを追加します。
INFO

adm は GPO に直接添付するため、テンプレート自体の管理が煩雑になりやすい点に注意してください。

admx ファイル(推奨される現在の方式)

  • admx は中央管理(SYSVOL)に配置してドメイン全体で共有する方式です。言語ごとの .adml ファイル(例: ja-JP)も合わせて配置します。
  • OS バージョンごとに異なるテンプレート項目を切り分けられない点はありますが、WMI フィルターを併用することで適用先を制御できます。

設置手順(例):

  1. 管理テンプレートを Microsoft からダウンロードします(.msi 等)。
  2. インストーラを実行するとテンプレートが展開されます(標準展開先: C:\Program Files (x86)\Microsoft Group Policy\"テンプレートのOSバージョン名"\PolicyDefinitions)。
  3. 既存の \\localhost\\SYSVOL\\example.com\\Policies\\PolicyDefinitions をバックアップ(コピー)します。
  4. 展開された .admx / .adml ファイルを PolicyDefinitions に上書きします。
  5. グループポリシーエディタで更新が反映されていることを確認します。
注意点

グループポリシー管理エディタからは 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 では、以下のような運用が可能です。

  1. 各クライアントに RSAT を事前にインストールし、「グループポリシーの管理」を起動します。
  2. GPO を右クリックして「新規」からバージョン別の GPO(例: GPO_1709, GPO_1803)を作成します。
  3. 各バージョン固有の設定をそれぞれの 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 リポジトリ

https://github.com/stknohg/AdmxPolicy

コメント

コメントはまだありません