グループポリシー(GPO)が適用されない時の切り分け
「設定したはずのグループポリシーが、クライアントに効いていない」——AD運用で必ず一度は踏むトラブルです。原因はリンク・優先順位・スコープ(フィルタリング)・レプリケーションのどこかにあることがほとんど。この記事では、実務での切り分け手順を、確認コマンドとチェックリストで整理します。
まず現状を把握する(gpupdate と gpresult)
あてずっぽうで設定を触る前に、「いま何が適用され、何が拒否されているか」を確認します。クライアント(対象PC)でコマンドプロンプトを管理者で開き、次を実行します。
gpupdate /force ← ポリシーを強制的に再適用
gpresult /r ← 適用/拒否されたGPOと理由を表示
gpresult /h report.html ← 見やすいHTMLレポートを出力
gpresult の結果には、「適用されたグループポリシーオブジェクト」と、「次の理由で拒否されたGPO」が並びます。ここに目的のGPOが拒否側に出ていれば、その理由(フィルタリング/セキュリティ/WMI など)が原因のヒントになります。そもそも一覧に出てこないなら、リンクや到達性の問題を疑います。
GPOの優先順位を理解する(後勝ちとLSDOU)
複数のGPOが同じ設定を持つと、あとから適用されたものが勝ちます(後勝ち)。適用される順番は、頭文字をとって LSDOU と覚えます。
ただし例外が2つあります。
- 強制(Enforced):上位のGPOを「強制」にすると、下位のGPOで上書きされません。後勝ちの原則を覆します。
- 継承のブロック(Block Inheritance):OUで上位からの継承を止められます。ただし「強制」には勝てません(強制されたGPOはブロックを貫通して適用されます)。
「効いてほしい設定が、別のGPOに後勝ちで上書きされている」「継承のブロックで止まっている」というのは典型パターン。gpresult でどのGPOが勝っているかを必ず確認します。
よくある原因チェックリスト
優先順位で説明がつかない場合、次を上から順に確認します。
1. リンクされているか/有効か
GPO自体は作っただけでは効きません。対象のOU(またはドメイン・サイト)にリンクされ、そのリンクが有効になっている必要があります。「作ったが、対象OUにリンクし忘れていた」「リンクを無効化していた」は定番です。
2. スコープ(セキュリティフィルタリング)
GPOは既定で「Authenticated Users(認証されたユーザー)」に適用されますが、これを特定グループに絞る(セキュリティフィルタリング)運用もよくあります。ここで対象のユーザー/コンピューターに「適用」の権限があるかを確認します。
要注意(MS16-072の罠): 2016年6月以降のセキュリティ更新で、GPOの取得にコンピューターの権限が使われるようになりました。このため、フィルタリングでAuthenticated Users を丸ごと外していると、GPOが適用されなくなります。対策は、Authenticated Users に「読み取り(Read)」だけ戻す(適用は不要)、または Domain Computers に読み取りを付与すること。「昔は効いていたのに、更新後に一斉に効かなくなった」ときは、まずこれを疑います。
3. 適用先の間違い(コンピューター構成 vs ユーザー構成)
GPOにはコンピューターの構成とユーザーの構成があり、効く相手が違います。コンピューター設定はコンピューターが置かれたOU、ユーザー設定はユーザーが置かれたOUのGPOで適用されます。「ユーザー設定を、PCの入っているOUにリンクしたが効かない」はこの取り違えが原因。PCのOU側でユーザー設定を効かせたいときは、ループバック処理モード(Loopback:置換/マージ)を使います。
4. WMIフィルタ
GPOにWMIフィルタ(例:OSが特定バージョンのときだけ適用)が付いていると、条件に合わないクライアントには適用されません。意図せぬ除外になっていないか確認します。
5. SYSVOL/ADのレプリケーション
GPOは、設定の実体(テンプレート)がSYSVOLに、管理情報がADに分かれて保存されます。DCが複数あると、片方のDCにだけ変更が反映され、レプリケーションが遅れている間は、そのDCを参照したクライアントに古い設定が適用されます。別のDCで gpresult を比較したり、SYSVOLの複製状態を確認します。
6. DC到達性・時刻・DNS
クライアントが正しいドメインコントローラーに到達できているか、時刻がずれていないか(Kerberos認証は時刻ずれに厳しい)、DNSでDCを正しく引けているかも基本の確認点です。VPN越しやサイト構成が絡む環境では、参照するDCが想定と違うことがあります。
「1回では反映されない」設定もある
Windowsには高速ログオン最適化という仕組みがあり、一部の設定(ソフトウェアの割り当て、フォルダーリダイレクト、一部のスクリプトなど)は反映に2回のログオン/再起動が必要です。「1回再起動したが効かない」ときは、もう一度試すか、gpupdate /force のあとにサインアウト→サインインして確認します。
切り分けの流れ(まとめ)
迷ったら、次の順でたどると原因に近づけます。
gpresult /rで「適用/拒否」を確認 → 目的のGPOはどちら側か- 拒否側なら理由(フィルタリング/WMI/セキュリティ)を見る
- 一覧に無いならリンク・到達性(DC/DNS/時刻)を疑う
- 効いているが上書きされるなら優先順位(後勝ち・強制・ブロック)を確認
- 「更新後に一斉に効かなくなった」ならAuthenticated Users の読み取り(MS16-072)を確認
- DCによって結果が違うならSYSVOL/ADのレプリケーションを確認
よくある質問
Q. gpupdate /force と gpupdate の違いは?
A. 通常の gpupdate は変更があったポリシーだけを再適用します。/force を付けると、変更の有無にかかわらず全ポリシーを再適用します。切り分け時は /force が確実です。
Q. 特定のユーザーだけ、あるいは特定のPCだけ効かないのはなぜ?
A. そのユーザー/PCが対象のOUに入っていない、フィルタリングの対象グループに入っていない、WMIフィルタの条件から外れているのいずれかがほとんどです。gpresult をそのユーザー/PCで実行して比較します。
🔗 関連:Windowsサービスアカウントと権限をやさしく図解 / WindowsのプロキシはなぜGUIだけでは足りない? / ネットワークセキュリティの基礎 / 記事一覧