gpupdateは、Windows端末上でグループポリシーの更新処理を手動で開始するコマンドです。設定変更の検証や、通常のバックグラウンド更新を待たずに反映状況を確認する時に使います。ただし、GPOそのものを編集したり、ドメインコントローラー間の複製を早めたり、すべての設定をログオンなしで即時反映したりするコマンドではありません。本記事では、/target、/force、/wait、/logoff、/boot、/syncの正確な挙動と、安全な確認・トラブルシューティング手順を解説します。
gpupdateは実行した端末のポリシー更新を開始する
Active Directory環境のグループポリシーは、コンピューターの起動時とユーザーのサインイン時に前景処理され、その後も定期的にバックグラウンド更新されます。クライアントとメンバーサーバーの既定更新間隔は90分に最大30分のランダムなずれが加わり、ドメインコントローラーのコンピューターポリシーは既定で5分間隔です。gpupdate.exeは、コマンドを実行したローカル端末でこの更新を手動開始します。
基本形のgpupdateはユーザー設定とコンピューター設定の両方を対象にし、既定では変更を検出したポリシー設定を適用します。「すべての設定を無条件に再適用する」のは/forceを付けた場合です。GPOのリンク、セキュリティフィルター、WMIフィルター、継承、Enforced、ループバック、クライアント側拡張の処理規則はそのまま評価されます。対象外のGPOをgpupdateで強制的に適用することはできません。
gpupdate
/targetでユーザーとコンピューターを分けて更新する
/target:userはユーザーポリシーだけ、/target:computerはコンピューターポリシーだけを更新します。ユーザー構成のGPOを変更した検証では、対象ユーザー自身のセッションでUserを実行します。コンピューター構成だけを確認したい時はComputerへ絞ると、不要な側の処理を減らし、結果も切り分けやすくなります。/targetを省略すると両方が対象です。
リモートデスクトップや「別のユーザーとして実行」を使う場合は、どのユーザーのポリシーを更新しているかを確認します。管理者として開いた別資格情報のコンソールでUserを実行すると、検証したい一般ユーザーのセッションと一致しないことがあります。ユーザー設定は対象ユーザーで、コンピューター設定は変更権限と保守方針に従った管理セッションで確認します。
gpupdate /target:user
gpupdate /target:computer
/forceは全設定の再適用であり、優先順位の上書きではない
gpupdate /forceは、GPOの変更有無にかかわらず、対象となるすべてのポリシー設定を再適用します。通常のgpupdateで反映しない時に最初から連打するのではなく、まず通常更新とgpresultで対象GPOを確認します。Forceは、設定が変更済みなのにクライアント側拡張の再処理を確かめたい検証や、構成ドリフトを疑う時に限定して使うと原因を追いやすくなります。
Forceを付けても、サイト、ドメイン、OUの処理順、リンク順、セキュリティフィルター、WMI条件、前景処理だけの拡張は変わりません。SYSVOLとActive Directoryの複製がまだ完了していなければ、端末が参照するドメインコントローラーに古いGPO情報が残っている可能性もあります。大規模な端末群へ同時にForceを実行すると、ドメインコントローラーとネットワークへ負荷を集中させるため、段階実行とランダム遅延を使います。
gpupdate /force
/waitは処理時間ではなくコマンドの待機時間を指定する
/wait:秒数は、ポリシー処理の完了を待ってコマンドプロンプトへ戻る最大時間です。既定は600秒、/wait:0は待機せず、/wait:-1は完了まで無期限に待ちます。指定時間を超えてプロンプトへ戻っても、ポリシー処理そのものはバックグラウンドで継続します。したがって、gpupdate /wait:30が30秒で戻ったことを「30秒以内に更新成功」と判定してはいけません。
スクリプトで更新後の設定へ依存する処理を続ける場合は、短いWaitで戻った直後に次の処理を始めず、完了状態と実際の設定を別に確認します。逆に更新後の完了を待つ必要がない処理なら、有限時間を指定して後続へ進められます。無期限待機は停止した拡張やネットワーク問題で自動化全体を止めるため、監視とタイムアウトを設計します。コマンドの表示だけでなく、GroupPolicy Operationalログとgpresultを証跡にします。
gpupdate /target:computer /wait:600
gpupdate /target:user /wait:-1
/logoffは必要な拡張がある時だけサインアウトする
/logoffは更新後、バックグラウンド更新では処理せずユーザーのサインイン時に処理するクライアント側拡張が必要と判断した場合にサインアウトします。Microsoftはユーザー対象のソフトウェアインストールとフォルダーリダイレクトを例示しています。該当する拡張がなければ、このオプションはサインアウトを発生させません。「必ずログオフするスイッチ」でも「すべてのユーザー設定を今すぐ前景適用するスイッチ」でもありません。
未保存の文書やリモートセッションがある端末で、利用者へ告知せず/logoffを実行しないでください。必要性を検証端末で確認し、保存、業務アプリ終了、再サインイン後の動作確認まで案内します。フォルダーリダイレクトやソフトウェア配布はネットワーク状態、空き容量、権限、インストーラーの再起動要件にも依存するため、サインアウト後に対象パスや製品状態を確認します。
gpupdate /target:user /logoff
/bootは必要なコンピューター拡張がある時だけ再起動する
/bootは、バックグラウンド更新では処理せずコンピューター起動時に処理する拡張が必要な場合、ポリシー更新後に再起動します。Microsoftの例はコンピューター対象のソフトウェアインストールです。該当する拡張がなければ再起動しませんが、サーバーや業務端末へ無計画に付けるべきではありません。再起動そのものがサービス停止、未保存データ、クラスターフェールオーバー、バッチ中断を招くためです。
サーバーでは保守時間、サービス所有者、バックアップ、冗長構成、停止順序、起動後のヘルスチェックを確認します。クライアントでは利用者への予告と保存を行い、BitLocker回復キーやネットワーク起動など再起動リスクも事前確認します。ポリシーが本当に起動時処理を要求しているかを検証し、単に「反映しないから再起動」という当て推量で全台へ配らないようにします。
gpupdate /target:computer /boot
/syncは次回の起動・サインインを同期処理にする
/syncは、次回の前景ポリシー適用を同期モードで実行するよう指定します。コンピューターポリシーの前景処理は起動時、ユーザーポリシーの前景処理はサインイン時です。現在のバックグラウンド更新を「同期して即時完了」させるオプションではありません。/target:user、/target:computerまたは両方を選べますが、Syncを指定すると/forceと/waitは無視されます。
同期前景処理では、Windowsがポリシー処理の完了を待ってから起動またはサインインを進めるため、処理の遅いGPOや到達できないネットワークがあると待ち時間が増えます。ソフトウェアインストールなど前景処理の再現が必要な検証で使い、次のサインアウト・再起動と業務影響を計画します。実行後にただ待つのではなく、対象に応じて安全にサインアウトまたは再起動し、次回セッションの結果を確認します。
gpupdate /target:user /sync
gpupdate /target:computer /sync
gpresultで「更新した」ではなく「何が適用されたか」を確認する
gpupdateの完了表示は、期待したGPOが勝ったことや目的の設定値になったことを保証しません。まずgpresult /rでユーザーとコンピューターの結果セット概要を確認し、対象GPOが適用済みか、拒否・フィルター対象になっていないかを見ます。さらにgpresult /hでHTMLレポートを保存すると、適用GPO、フィルター、設定の優先順位を追いやすくなります。既存ファイルを上書きする場合だけ/fを明示します。
レポートには端末名、ユーザー名、GPO名、セキュリティ構成などの管理情報が含まれるため、アクセス制限されたローカルフォルダーへ保存し、チケットへ無制限に添付しません。コマンドラインへパスワードを直接記載する/pの利用は避けます。ARM64版Windowsで/hを使う場合は、Microsoft資料がSysWOW64側のgpresultを指定している点にも注意します。
gpresult /r
gpresult /h C:\Temp\gpresult.html
反映しない時は複製・対象判定・拡張を順に切り分ける
最初に、端末の日時、DNS、ドメイン接続、参照ドメインコントローラー、SYSVOLとNETLOGONへの到達を確認します。次に、変更したGPOのActive Directory部分とSYSVOL部分が端末の参照先へ複製済みかを確認します。GPOはADとSYSVOLという二つの複製機構を使うため、編集直後に別サイトの端末でgpupdate /forceを繰り返しても、新しい内容がまだ届いていなければ解決しません。
続いてgpresultでサイト、ドメイン、OU、リンク順、Enforced、継承拒否、セキュリティフィルター、WMIフィルター、ループバックを確認します。最後に、イベントビューアーの「アプリケーションとサービス ログ > Microsoft > Windows > GroupPolicy > Operational」で、失敗したクライアント側拡張とエラーコードを特定します。レジストリを推測で直接修正したり、対象外GPOを無理にリンクしたりする前に、どの段階で期待と違うかを記録します。
多数端末への更新はInvoke-GPUpdateかGPMCを段階利用する
gpupdateは実行した端末を更新するコマンドです。リモート端末ではPowerShellのInvoke-GPUpdateを使い、GPMCではOUを右クリックして「グループポリシーの更新」を開始できます。Invoke-GPUpdateはリモート端末へgpupdateの実行をスケジュールし、ネットワーク負荷を分散するランダム遅延を指定できます。必要なファイアウォール、タスクスケジューラ、リモート管理、権限が整っていることを少数端末で確認します。
ドメイン全体へ一斉にForce、Logoff、Bootをかける運用は避けます。検証OU、IT部門、少数ユーザー、一般展開の順に波を分け、失敗率、ドメインコントローラー負荷、WAN帯域、サインイン時間、問い合わせ件数を監視します。更新の目的が緊急セキュリティ対策でも、GPOのバックアップ、変更承認、対象範囲、取り消し手順、連絡先を残します。遠隔更新は、誤ったGPOを安全にする機能ではありません。
確認チェックリスト
- 通常のgpupdateは変更を検出した設定、/forceは全対象設定の再適用と理解した
- /target:userと/target:computerを検証する設定種別とセッションに合わせた
- /wait超過後も処理が続くこと、既定600秒・0・-1の意味を確認した
- /logoffと/bootを未保存作業やサーバー停止の影響確認なしに使わない
- /syncは次回前景処理を同期化し、現在の即時同期ではないと理解した
- gpresultとGroupPolicy Operationalログで適用GPOと失敗拡張を確認した
- GPOのAD/SYSVOL複製完了と端末の参照DCを確認した
- 多数端末はランダム遅延と段階展開を使い、Forceや再起動を一斉実行しない
gpupdateは、ローカル端末のグループポリシー更新を手動開始するための道具です。基本形はユーザーとコンピューターの変更済み設定を処理し、/forceは全対象設定を再適用します。/waitはコマンドの待機時間で、時間切れ後も処理が続きます。/logoffと/bootは必要なクライアント側拡張がある時だけ動作し、/syncは次回の起動・サインインを同期前景処理にします。実行結果はgpresultとGroupPolicy Operationalログで確認し、反映しない時はGPO複製、対象判定、処理拡張の順に切り分けてください。

コメント