通常、ドメイン環境ではドメインコントローラ(Active Directoryを管理するサーバー)を複数用意しており、グループポリシー(GPO)は各ドメインコントローラ間でレプリケート(複製)されています。
ここではこのドメインコントローラ間のGPOのレプリケーションと、それに関わる動作仕様を解説します。(対象:Windows
Server2003)
|
GPOの格納仕様
|
各GPOはドメインコントローラのSYSVOLフォルダ内と、Active
Directory内に分割して格納されています。グループポリシーオブジェクトエディタや、グループポリシー管理コンソール(GPMC)等のツールではGPOは1つの単位とし
て表示されますが、例えばこれらのツールでGPOにアクセス許可を設定した場合も実際はSYSVOL内とActive
Directory内の両方のオブジェクトにアクセス許可が設定されています。レプリケーションも別々のシステムによって行われており、Active
Directoryのレプリケーションと、ファイルレプリケーションサービス(FRS)によるSYSVOLフォルダのレプリケーションが行われています。
(※
SYSVOL共有フォルダは、ドメインコントローラ間で共有されるファイルを格納する場所です。)
|
FRS(ファイルレプリケーションサービス)によるSYSVOLフォルダのレプリケーション
|
GPOはドメインコントローラのSYSVOL共有フォルダに、GPO毎にGUID名を持つフォルダ(=GPT)として保存されています。
(C:\Windows\SYSVOL\sysvol\ドメイン名\Policiesフォルダ内のGUID名を持つフォルダ(GPT))
GPOをレプリケートするファイルレプリケーションサービス(FRS)は、ドメイン全体のGPOのGPTをレプリケートします。各GPT内には複数のadmフファイルが格納されており、これらをドメインコントローラ間でレプリケートすることによりネットワークトラフィックが発生することもあります。
補足:Active Directory環境ではFRSを使用してSYSVOL共有フォルダの内容を全ドメイン
コントローラに複製します。SYSVOLフォルダには、ログオン スクリプト、デフォルト ドメイン
プロファイル、グループポリシーが格納されており、これらに変更が加えられるとその変更は他のすべてのドメイン
コントローラに複製されます。これにより全てのドメイン コントローラで Sysvol フォルダの内容の整合性が保たれます。
|
GPOの作成・編集を行うドメインコントローラは1つ(PDCエミュレータの操作マスタ)
|
Active
Directory環境では、基本的にドメインコントローラの役割は対等です。NT時代のようなメインのPDC(プライマリドメインコントローラ)、バックアップ用のBDC(バックアップドメインコントローラ)といった区別はしません。しかし、複数のドメインコントローラで処理すると不整合が発生する機能についてはまず1台のドメインコントローラで処理します。この役割を持つドメインコントローラを操作マスタ(FSMO)と呼びます。操作マスタは機能ごとに
ドメイン内でただ1つであり、ある機能においてはメインのドメインコントローラと言ってもよいでしょう。
操作マスタが担当する役割の1つに「PDCエミュレータ」という機能があり、この役割を担う(操作マスタトークンを持つ)ドメインコントローラ上でのみ、GPOは作成・編集されます。
たとえ他のドメインコントローラにログインしてもGPOの編集はPDCエミュレータのドメインコントローラで行われます。
利用しているドメイン環境で、どのドメインコントローラがPDCエミュレータの役割をするのかは、「Active
Directoryユーザーとコンピュータ」でドメイン名を右クリック−「操作マスタ」−「PDC」タブのサーバー名で確認できます。(PDCエミュレータのドメインコントローラを変更したい場合は、ここで「変更」をクリックします。(変更先のDCで操作する必要があります。)
)
補足:PDCエミュレータとは、旧バージョンのサーバーに対してPDCの役割をする機能です。
|
レプリケーションの同期による問題
|
ユーザーやコンピュータ、OU、GPOなどのActive
Directoryで扱うデータは、どのドメインコントローラからでも変更でき、その変更内容はドメインコントローラ間でレプリケーションされます。
しかし先述の通り、GPOの作成・編集はPDCエミュレータの役割を担当するドメインコントローラ上でのみ行われるため、グループポリシーの編集時には必要な情報(GPO、AD情報、OUなど)が全てこのドメインコントローラに同期されている必要があります。
例えば、PDCエミュレータの役割を担当するドメイン コントローラにOUがレプリケートされて
いないと、そのOUにグループ ポリシーを適用できません。
また、Active
DirectoryとFRSはどちらもマルチマスタレプリケーションという方式(互いの内容を複製し合う仕組み)で処理されている為、もし2人の管理者が同時に異なるドメインコントローラ上でActive
Directoryオブジェクトに変更を行った場合、一方が行った変更が他方により上書きされてしまうことがあります。
このようなレプリケーションによる問題を回避するために、GPOに関連する作業(ポリシーの編集、OUの作成やリンク、アクセス許可の設定など)は全てこのPDCエミュレータの操作マスタトークンを持つドメインコントローラで行うことが推奨されています。
グループポリシーオブジェクトエディタ、およびグループポリシー管理ツール(GPMC)では、レプリケーションの同期による問題を防止する為にPDCエミュレータの操作マスタであるドメインコントローラにアクセスしてポリシーの編集を行うよう設定されています。(既定のDCの設定)
更にグループポリシー管理ツール(GPMC)ではグループポリシーに関する全ての操作(ポリシー編集、OU作成とリンク、アクセス許可設定)も同じドメインコントローラで行うことができます。
|
グループポリシー管理コンソール(GPMC.msc)の動作仕様 |
GPMCはグループポリシーを管理するためのツールです。同期に関する問題を阻止するために、GPMCはPDCエミュレータの操作マスタトークンを持つドメインコントローラに接続し
、グループポリシーに関するすべての操作(OUやGPOの作成、アクセス許可の設定など)をこのDCで行
うことができます。GPMCから「グループポリシーオブジェクトエディタ
」や「Active Directoryユーザーとコンピュータ」を開いた場合も 同じドメインコントローラが使用されます。(通常例えばDC2から「Active
Directoryユーザーとコンピュータ」を開けばDC2にアクセスしますが、GPMCから起動した場合はPDCエミュレータの操作マスタであるDCにアクセスします。)
既定の同一ドメインコントローラにアクセスして全操作を行うため、同期に関するトラブルを阻止することができます。GPMCは企業全体でグループ ポリシーを管理するための単一の窓口を提供する
ツールといえます。
GPMCで利用する既定のドメインコントローラは変更することもできます。
(=PDCエミュレータの操作マスタトークンを保持しないDCに変更できる)
|
GPMC、及びグループポリシーオブジェクトエディタで既定のドメインコントローラを変更するには
|
-
◆
GPMCでドメイン名を右クリックし「ドメインコントローラの変更」をクリックし、以下のから選択します。
◆
グループポリシーオブジェクトエディタで任意のGPOを選択し、「表示」−「DCオプション」をクリックし以下から選択します。
(※ これ
らはGpedit.mscやGPMCで利用する既定のDCの変更です。PDCエミュレータの役割をするドメインコントローラの変更ではありません。
)
|
ドメインコントローラのレプリケーション間隔
|
ドメインコントローラのレプリケーションの間隔は既定で5分です。
ドメインコントローラを強制的にレプリケートさせるには以下の操作を行います。
「Active Directoryサイトとサービス」を起動し、「Sites」−「Default -First- Site
-Name」−「Servers」にある更新したいドメインコントローラを展開
「NTDS Setting」を選択し、<自動生成>と表示されたアイコンを右クリックし、「今すぐレプリケート」をクリック
|
レプリケーションによるネットワークトラフィックの問題
|
先述の通り、GPOをレプリケートするFRSは、ドメイン全体のGPOのGPTをレプリケートします。各GPT内には複数のadmファイルが格納されているため、これをドメインコントローラ間でレプリケートするためにネットワークトラフィックが発生する場合があります。
次にこのadmファイル(管理用テンプレート)の仕様についてご説明します。
|
管理テンプレート(*.admファイル)について
|
*.admファイルはグループポリシーで利用される管理用テンプレートファイルです。
グループポリシーオブジェクトエディタでGPOを作成すると、ローカル(C:\windows\infフォルダ)に保存されている管理用テンプレート(admファイル)がSYSVOL共有内のGPTフォルダ内のADMフォルダにコピーされます。
注意:GPOを作成しただけで編集しなかった場合は、GPTフォルダ内にADMフォルダは作成(ローカルからコピー)されません。
Office製品などの管理用テンプレート(*adm)をグループポリシーオブジェクトエディタで追加した場合もSYSVOL共有内\GTPフォルダ\ADMフォルダに、*admファイルがコピーされます。各GPOごとにGPT\ADMフォルダにadmファイルがコピーされるため、GPOの数によってはSYSVOL共有フォルダのサイズが増加し、そのレプリケーションによってネットワーク負荷がかかります。
|
管理用テンプレート(ADMファイル)の更新について
|
既定では、GPOを編集するとグループポリシーオブジェクトエディタはローカル(C:\Windows\Inf)の*.admファイルのタイムスタンプとSYSVOL共有にあるGPT\ADMフォルダ\*.admファイルのタイムスタンプを比較し、ローカルのadmファイルが新しい場合は、SYSVOL共有にあるGTP\admファイルを全て上書きします。これは管理者が実際にGPOを編集した時ではなく、グループポリシーオブジェクトエディタで管理用テンプレートのノード(コンピュータの管理、ユーザーの管理)が選択されただけで行われます。(結構怖い動作仕様です。)
例えば新しいOSには、新しいバージョンの管理用テンプレートが格納されていることもあります。それらのマシンからグループポリシーオブジェクトエディタでGPOを編集すると、そのマシンのローカルにあるWindows\infフォルダからSYSVOL共有にあるADMフォルダに管理用テンプレートが上書きコピーされます。そのため、複数のOSが異なるマシンから1つのGPOをグループポリシーオブジェクトエディタで開く場合は注意が必要です。また言語が異なるOSのadmファイルがSYSVOL共有のGPT\ADMフォルダにコピーされてしまい、管理用テンプレートがおかしな言語で表示される、といったことも起こりえます。
このような管理用テンプレート(*.admファイル)の仕様によるSYSVOL共有フォルダのサイズ増加や、自動更新の問題を回避する為に2つのグループポリシーが用意されています。グループポリシーオブジェクトエディタを利用するPCに対し、以下のポリシーを適用します。
尚、GPMCでは常にローカルのADMファイルを使用し、SYSVOLフォルダにADMファイルをコピーすることはありません。もしローカルにADMファイルが見つからない場合は、GPT内のADMファイルを検索して利用します。
MSKB:グループ ポリシー管理用テンプレート (.adm) ファイルの管理に関する推奨事項
http://support.microsoft.com/kb/816662/ja
|
*.admファイルの更新やレプリケーションによるトラブルを回避する為のグループポリシー
|
★「グループポリシーオブジェクトエディタに対してローカルのADMファイルを常に使用する」
「コンピュータの構成」−「管理用テンプレート」−「システム」−「グループポリシー」
グループポリシーオブジェクトエディタでGPOを編集するマシンに対して適用します。(リモートデスクトップでログインするマシンや、RSATなどのリモート管理ツールを使うマシン)このポリシーを有効にすると「ADMファイルの自動的更新をオフにする」ポリシー↓も有効になります。
→ ローカルの管理用テンプレート(C:\Windows\Inf\*.admファイル)がSYSVOL共有にコピーされず、ローカルの*.admファイルを参照します。
★「ADMファイルの自動的更新をオフにする」
「ユーザーの構成」−「管理用テンプレート」−「システム」−「グループポリシー」
グループポリシーオブジェクトエディタでGPOの編集を行う管理者に対して適用します。
→ ローカルの管理用テンプレートがSYSVOL共有にコピーされません。
「グループポリシーオブジェクトエディタに対してローカルのADMファイルを常に使用する」がOFFの場合はSYSVOL共有のadmファイルを参照し、ONの場合はローカルのadmファイルを参照します。
<注意>
ローカルのadmファイルを参照する設定にした場合は全てのカスタム管理用テンプレートをローカル(%windir%Inf)にコピーし、GPOを編集する全てのサーバーのローカルにデフォルトのadmファイルとカスタムadmファイルを格納しておく必要があります。
ローカルを参照するため、ローカルにこれらのadmファイルがない場合、ポリシー設定が表示できないことがあります。
また、DCのSYSVOL共有にadmファイルがない場合はXPからGPOの編集はできません。
MSKB:Windows Server2003におけるグループポリシーテンプレートの動作
http://support.microsoft.com/kb/316977/ja
<<
POINT まとめ >>
-
GPOのデータはActive
DirectoryとSYSVOLに分割されて格納されており、レプリケーションもそれぞれのシステムで行われる。
-
グループポリシーの作成・編集はPDCエミュレータのドメインコントローラでのみ可能
なため、ポリシー編集に関する情報がこのDCで同期されている必要があ
る。その為GPOに関わる全ての動作(OUの作成やリンク、アクセス許可の設定、GPO編集等)をこのDCで行うことが推奨されている。
-
GPMC.mscはグループポリシーに関する全ての操作をPDCエミュレータのDCで行うよう設定されている。
-
PDCエミュレータのDCは、「ADユーザーとコンピュータ
」でドメイン名を右クリック−「操作マスタ」
−「PDC」タブにで確認できる。
-
各GPOはSYSVOL共有\ADMフォルダにadmファイルを格納する。このサイズが大きくなるとレプリケーションの際ネットワーク負荷がかかる。
-
admファイルによるサイズ増加を防ぐため「グループポリシーオブジェクトエディタに対してローカルのADMファイルを常に使用する」というポリシーがある。