見出し画像

[IT]Windowsの管理用テンプレート(~.admx、~.adml)について

久しぶりにWindowsの管理用テンプレートについて調べる機会があったため内容を整理したので以下に調べた内容を記載。


1. 管理用テンプレートとは

そもそも管理用テンプレートとは何かというと、グループ ポリシーの設定項目を定義したファイルである。

管理用テンプレートには、以下の 2 つのファイル(~.admxと~.adml)が提供されていて、これらを対象のコンピュータに追加することで、グループ ポリシー管理エディター内の項目を追加更新し、新しいグループ ポリシーの設定ができるようになる。

  • admx ファイル:グループ ポリシーの設定が含まれるファイル

  • adml ファイル:各言語ごとのグループ ポリシーの項目名や説明が含まれるファイル(英語の場合は「en-US」フォルダ配下)

管理用テンプレートの更新を行う場合(古いadmx/admlファイルを新しいadmx/admlファイルで上書き保存)だが
テンプレートの項目が新しいテンプレートによって上書きされたとしても、現在利用中のグループ ポリシーの設定に影響はないとのこと。

グループ ポリシー管理エディターで設定した情報は、registory.pol というファイルにレジストリ情報として格納され、グループ ポリシーが適用されているドメイン メンバーは、このファイルをもとにレジストリが設定される動作となり、管理用テンプレートを更新した場合もドメイン メンバーに配布している registry.pol ファイルに対して変更や削除などの処理は行われないため、利用中のグループ ポリシーの設定に影響はありません。

しかしながら、グループ ポリシー管理エディター上の設定項目が更新されるため、古いバージョンのテンプレートでは存在した設定項目が新しいバージョンでは削除されていたり、設定項目が変更されたグループ ポリシーもあるため、表示上の影響があるらしい。

「registory.pol」のファイルはGPOの再適用後15分ほどで新たに作成される挙動とのこと。(ドメインコントローラー上でこのファイルがみつからなかった。おそらくGPOを適用しているクライアントマシン上にこのregistory.polが作成される挙動と思われる。ドメインコントローラーにもGPOは適用されている認識のため挙動として矛盾していると思うが)

注意点としては、
・新しい管理用テンプレートで更新したときに、更新前の古い管理用テンプレートで存在した項目が削除されていると更新後は項目が表示されないことと設定項目が変更された項目については表示上の影響が発生する。

2.管理用テンプレートの配置場所について

一般的には管理用テンプレートはマシンのローカル(C:\Windows\Policydefinitions)のものを利用する。
これがローカルのGPOの設定で利用される管理用テンプレートの置き場所である。(ローカルグループポリシー)

グループポリシー管理エディターの画面で
「グループポリシーオブジェクト」を選択して、
適当なGPOを選択し、
右クリックから「編集」をクリックして編集画面を開きます。
そしてコンピューターおよびユーザーの「ポリシー」を開いてグループポリシー管理エディターを開いたときに
「管理用テンプレート:ローカルコンピューターから取得したポリシー定義 (ADMX) ファイルです。」
の表示だとローカルの管理用テンプレートを利用していると確認できます。

ADサーバは初期構築時ではローカル(C:\Windows\Policydefinitions)の管理用テンプレートを利用する。(ローカルグループポリシー)
つまりADサーバ1号機とADサーバ2号機があった場合、管理用テンプレートの追加は1号機と2号機の両方で発生する作業となる。

つまり「C:\Windows\PolicyDefinitions」は各ADサーバのローカルディスク内にある為,管理用テンプレートを更新する場合は全てのADサーバに配置する必要があります.

これでは手間が大きいため,ネットワークで共有できる場所がセントラルストアになります.
ADサーバ(ドメインコントローラー)には管理用テンプレートをドメインコントローラー間で共有する『セントラルストア』という仕組みがある。

セントラルストアを利用していない場合のデフォルトの管理用テンプレートの保存場所は各ドメインコントローラーの「C:\Windows\PolicyDefinitions」となる。

セントラルストア化する場合は、ADサーバ1号機のローカルの「C:\Windows\Policydefinitions」フォルダを「C:\Windows\SYSVOL\domain\Policies」配下にコピーするだけとのこと。
★自分はここの理解が足りなくて、初回セントラルストア化するときにADサーバ1号機だけでなく、ADサーバ2号機でも同じことを実施していたが、1台だけで実施すればよいらしい。

セントラルストア化を確認するには、
SYSVOL 共有内に PolicyDefinitions が見えることを確認する。
アクセスする先はエクスプローラーのアドレス欄に
「\\<ドメイン名>\SYSVOL\<ドメイン名>\Policies\」と入力する。

グループポリシー管理エディターの画面で
「グループポリシーオブジェクト」を選択して、
「Default Domain Policy」を選択し、
右クリックから「編集」をクリックして編集画面を開きます。
そしてコンピューターおよびユーザーの「ポリシー」を開いて
「管理用テンプレート:セントラルストアから取得したポリシー (ADMX) ファイルです」になっていることを確認する。

セントラルストアの管理用テンプレートを利用してるかは
「管理用テンプレート:セントラルストアから取得したポリシー (ADMX) ファイルです」
と表示されているかで判断する。

3. ナレッジ整理

①C:\Windows\System32\GroupPolicy\Machine\registry.polを削除して、gpupdate /forceを実行しても再作成されない。

A. gpedit.mscから設定変更後に、gpupdate /forceを実施時に再作成される挙動となる

②admxファイルのみ管理用テンプレートを該当のフォルダ配下に配置した場合の挙動について

A.グループポリシー管理エディターの画面に警告が表示されて、対象のadmxのGPOの設定項目が表示されない。(警告が表示されるタイミングはたしかコンピュータの構成かユーザーの構成の管理用テンプレートを開いたとき。なんで警告が表示されるかadmxファイルに対応するadmlファイルが該当のフォルダ配下に配置されていないため)

③admlファイルのみ管理用テンプレートを該当のフォルダ配下に配置した場合の挙動について

A.グループポリシー管理エディターの画面は問題なく開けるが、対象のadmxのGPOが無いため設定項目が表示されない。

④既存の管理用テンプレート(admx/adml)ファイルを新しい管理用テンプレートファイル(admx/adml)に入れ替える場合、既存のものと新しいもので名前が異なり、管理用テンプレートを共存させたときの挙動について

A.グループポリシー管理画面で、コンピュータの構成かユーザーの構成の管理用テンプレートを開いたときに、既に該当する管理用テンプレートが反映されている旨の警告画面が表示されて、基本は新しい管理用テンプレート(admx/adml)ファイルが先に適用される挙動となる。
このとき新しいものに不具合があり適用されない場合はその旨の警告が表示されて既存のものが適用される挙動となる。
(↑この挙動は調べても情報がなかったので検証してよかった)
そのため障害を避けるために事前にPolicyDefinitionsのバックアップをとっておき、新しい管理用テンプレート(admx/adml)を該当のフォルダに配置したら、古い管理用テンプレート(admx/adml)は削除して、グループポリシー管理エディターから表示を確認する方法を進める。

 ⑤ADサーバ1号機のセントラルストアに管理用テンプレート(admx/adml)を置いたときにADサーバ2号機に転送される時間は?

A. すぐに反映される挙動となる

⑥ADサーバ1号機のセントラルストア配下にある既存の管理用テンプレート(admx/adml)を新しい管理用テンプレートに置き換えたときにADサーバ2号機にに転送されない場合について

A. この場合は対象の管理用テンプレートのファイルサイズを確認する。
ファイルサイズが既存と新しいもので同じファイルサイズの場合は
ADサーバ2号機に管理用テンプレートは転送されない挙動となる。

つまり既存と新しいもので更新日付に差異があるがファイルサイズが同じ場合は、ADサーバ2号機に管理用テンプレートは転送されない挙動となる。

⑦ADサーバ以外のマシンAでグループポリシー管理ツールをインストールした後に、グループポリシー管理エディターから[フォレストの追加]で対象のフォレストを追加すると、追加されたフォレストのGPOの情報が確認できるようになる。
このときマシンAで起動したグループポリシー管理エディターの管理用テンプレートの情報はどこのマシンのPolicydefinitionsの情報を利用しているか?

A. これはマシンAのローカルの管理用テンプレートの置き場(C:\Windows\Policydefinitions)の管理用テンプレートの設定ファイルを利用してグループポリシー管理エディターで設定項目を表示している。

この件は、まずマシンAはADサーバでは無いためセントラルストアが無い。
そのため管理用テンプレートの置き場はローカル(C:\Windows\Policydefinitions)のみとなる。

つまり、グループポリシー管理エディターがインストールされているマシンには管理用テンプレートの追加が必要である。
ADサーバ1号機とADサーバ2号機はOfficeの管理用テンプレート(admx/adml)が存在するが、マシンAにOfficeの管理用テンプレートが存在しない場合は、マシンAのグループポリシー管理エディターからはOfficeの管理用テンプレートの情報は表示されない挙動となる。

正直、管理用テンプレートについては調べると色々わかるため今後また何かあったら更新予定。


この記事が気に入ったらサポートをしてみませんか?