グループポリシーの更新を効果的に加速する方法
グループポリシーの管理は、時に少々面倒な場合があります。変更後にポリシーを強制的に更新したい場合でも、ネットワーク全体の更新を高速化したい場合でも、手動で更新を実行する方法を知っておくと、多くのストレスから解放されます。自動更新は遅い場合があり、特にサーバー変更やシステム調整の後は、ポリシーがすぐに反映されないことがあります。そこで、グループポリシーをより速く適用するための様々な方法を簡単にご紹介します。魔法のように自動的に反映されるのを待つ必要はありません。
これらの方法は、マシンの目の前にいる場合でも、リモートで管理している場合でも役立ちます。また、ポリシーが同期されていないように見える場合や、まったく適用されていない場合のトラブルシューティングにも役立ちます。ただし、一部の手順では管理者権限と適切なサービス(タスクスケジューラなど)の実行が必要になる場合があることに注意してください。また、ドメイン全体へのプッシュには、コマンドライン以外にも、グループポリシー管理コンソール(GPMC)を使用するなどの選択肢があります。Windowsでは、当然ながら、必要以上に複雑な手順になっているためです。
Windowsでグループポリシーの更新を強制する方法
gpupdate でコマンドラインを使用する
これはおそらく、グループポリシーを素早く更新する最も簡単な方法でしょう。特にデスクトップやリモート接続の場合に有効です。このコマンドはgpupdateすべてのポリシーを強制的に更新し、追加することで/force変更されていないものも含めすべてを再適用します。少しやり過ぎかもしれませんが、必要な場合もあります。ある環境ではすぐに機能しましたが、別の環境では…そうでもありませんでした。そのため、複数回実行したり再起動したりする必要がある場合でも驚かないでください。
覚えておいてください、ちょっと難しいのは、gpupdateこのコマンドはデフォルトでユーザーポリシーとコンピュータポリシーの両方を更新しますが、どちらか一方だけを対象にすることもできます。簡単なチートシートを以下に示します。
- /Target:{computers | users} — コンピューターのみを更新するか、ユーザー設定のみを更新するかを指定します。このスイッチを省略した場合、デフォルトで両方が更新されます。
- /Boot — ポリシーの変更で必要な場合は Windows に自動的に再起動するように指示し、すべてが適切に適用されるようにします。
- /Logoff — ポリシーの変更を適用するために必要な場合は、現在のユーザーをログオフします。これは少し面倒ですが、避けられない場合もあります。
したがって、完全なコマンドは次のようになります。
gpupdate /force /target:computer /boot
または単に:
gpupdate /force
プロのヒント:コマンドプロンプトまたはPowerShellから直接実行できます。すべてのパラメータについては、 Microsoftのドキュメントをご覧ください。
GP 管理を使用してグループ ポリシーをリモートで適用する
ドメイン全体を管理している場合、すべてのマシンをクリックする代わりに、リモートで更新できれば便利です。グループポリシー管理コンソール(GPMC)には、そのための便利な機能があります。組織単位(OU)を右クリックし、「グループポリシーの更新」を選択するだけで、すべてのマシンにコマンドが送信されます。別のウィンドウに進行状況が表示され、メッセージを受信したマシンの数を確認できます。このプロセスが自動化されるのは便利ですが、注意が必要です。各マシンのWindowsタスクスケジューラに一時的なタスクが作成されます。このタスクを有効にするには、タスクスケジューラが有効になっている(サービスが実行中になっている)必要があります。タスクスケジューラが無効になっていると、ポリシーは更新されません。
この方法では結果のログも保存され、CSV形式でエクスポートして記録やトラブルシューティングに利用できます。便利ですよね?ただし、これはgpupdate /force裏で実行されるため、同様の制限が適用されることを忘れないでください。
PowerShell を使用して単一のマシン上のポリシーを更新する
スクリプトの方がお好みなら、PowerShell を使えばネットワーク経由で gpupdate と同じことができます。コマンドはInvoke-GPUpdate便利ですが、これはちょっと面倒な点です。PowerShell は一度に 1 台のマシンしか管理できません。そのため、複数のシステムを更新する場合は、ループ処理するかスクリプト化する必要があります。
簡単な例を以下に示します。
Invoke-GPUpdate -Computer RA-TS01.ra.local -Target Computer
-Target Computerを指定しない場合は、デフォルトでユーザーポリシーとコンピューターポリシーの両方が更新されます。これは、すべてを最新の状態にしておきたい場合に便利です。PowerShell は管理者として実行し、Windows Update サービスとタスク スケジューラが有効になっていることを確認してください。有効になっていないと、何もせずに待機状態になります。
一部のマシンでは、アップデートが最初から失敗する場合があります。特にポリシーが固まってしまった場合や再起動が保留中になっている場合は、再起動または再実行が有効な場合があります。当然ながら、Windowsはこうした処理を必要以上に複雑にする必要があるためです。
関連記事
この記事は役に立ちましたか?