Netwrix 1Secure 提供跨数据和身份的统一可见性——免费试用14天,享有完全访问权限。开始免费试用

资源中心博客

使用 GPUpdate/Force 强制更新组策略

使用 GPUpdate/Force 强制更新组策略

Aug 26, 2025

强制 Group Policy 更新可确保新的或已更改的设置会立即生效,而不是等待标准的 90–120 分钟刷新周期。管理员可以使用 gpupdate /force 命令、Group Policy Management 控制台,或使用 Invoke-GPUpdate 的 PowerShell 来触发更新。尽管 /force 会重新应用所有 GPO,但可能会给域控制器带来压力,因此在确需紧急重新应用时,最好有选择地使用。

想象一下,你接到了一通电话,来自负责你防火墙和代理服务器的安全专家。他告诉你,他为访问互联网的用户新增了一个额外的代理服务器。你添加了一个新的 GPO,影响所有用户,使他们能够通过 Internet Explorer 使用新的代理服务器。通常,新 GPO 的应用需要 90 到 120 分钟,但你需要立即应用新的设置,而且你无法要求用户先注销再重新登录以应用这些设置。在这种情况下,你可能希望绕过在后台策略处理开始之前的正常等待时间。你可以使用命令提示符、Group Policy Management 控制台(GPMC)或 PowerShell 来实现。

GPUupdate 是什么

组策略(Group Policy)是 Active Directory 的一项宝贵功能,使管理员能够将多种设置应用到用户和计算机。为了保障安全与提高效率,必须及时应用对组策略对象(GPO)的更改以及新的 GPO。

因此,只要域成员计算机重新启动,或用户登录到该计算机,组策略就会自动刷新。此外,它还会在预定义的后台刷新间隔内自动更新(默认情况下,每 90 分钟更新一次,并带有最多 30 分钟的随机偏移)。

不过有时,管理员需要立即将 GPO 设置应用到客户端系统,例如在创建新策略或对现有策略进行重要更改时。此外,有时他们不仅希望应用变更,还希望重新应用通常未被更改的 GPO,以便撤销本地计算机上所做的、非预期的更改。

本文将指导你通过哪些方式强制刷新组策略。

GPUpdate 与 GPUpdate /force 命令对比

gpupdate /force 命令是用于更新组策略(Group Policy)最常用的命令之一。 /force 开关允许管理员重新应用所有策略设置。 然而,需要考虑的是,使用 /force 开关会对域控制器(Domain Controllers, DC)造成显著负载,尤其是在环境中存在大量组策略对象(Group Policy Objects, GPO)时。

如果你的租户规模较大,或 GPO 的数量很多,建议在实施新的策略设置时运行 gpupdate,但不要使用 /force 开关。此方法只会接收更改或新的组策略,从而降低客户端和域控制器(Domain Controllers)的工作负载。

下载组策略最佳实践电子书

立即下载

如何强制更新组策略

要强制更新组策略,你可以使用以下任一选项:

  • gpupdate /force 命令
  • 组策略管理控制台(GPMC)
  • PowerShell

先决条件:在应用 GPO 之前配置防火墙

在使用这些选项中的任意选项强制重新应用 GPO 之前,请确保防火墙允许在相应端口上的入站网络流量(默认情况下为 TCP 端口 135),具体说明见 Microsoft documentation

使用命令提示符强制更新组策略

gpupdate 是用于对 Active Directory 计算机进行组策略更新的 Microsoft 命令行 shell 命令。它包含在所有 Windows OS 版本中。

参数 /force

在不带任何参数运行 gpupdate 命令时,仅会应用已更改的策略设置和新的 GPO。但有时你还需要重新应用所有未更改的 GPO——例如,用于撤销本地管理员(或已入侵其账户的对手)所做的不期望修改。

在这种情况下,你需要按如下方式使用 /force 参数:

gpupdate /force

在使用此参数来更新 组策略设置 时,需要注意两个关键考虑点:

  • 你必须亲自到每台用户计算机上,并手动运行 gpupdate /force 命令。(要远程更新计算机,请使用下面所述的 PowerShell。)
  • 使用 /force 开关可能会对 DC 和客户端带来显著负载,尤其是在环境中存在大量 GPO 的情况下。在这些情况下,建议运行 gpupdate ,不要带 /force 参数。

其他参数

在用户已登录到该计算机的情况下运行 gpupdate 会立即将新的 GPO 设置提供给 Windows(当然前提是域控制器已具备已复制的 GPO 信息)。

如果用户未登录,在 Windows XP 及更高版本中,默认情况下 GPO 设置只会在下次登录时处理。但如果使用合适的开关,gpupdate 可以判断新更改的项目是否需要注销或重启才能生效:

  • /Logoff – 使用此开关将判断策略更改是否要求用户注销。如果不需要,则会立即应用新的设置;如果需要,则会自动注销用户,Group Policy setting 将在用户再次登录时应用。
  • /boot – 同样,如果启用了快速启动(Fast Boot),则需要重新启动才能应用带有“软件分发(Software Distribution)”设置的 GPO。运行gpupdate 并使用 /boot 开关会判断策略中是否存在需要重启的内容,并自动重启计算机。如果更新后的 GPO 不需要重启,则会应用 GPO 设置,且用户保持登录状态。

/Logoff 和 /boot 开关都是可选的。

还可以结合 /force

  • /Logoff– 在组策略设置更新后,将用户注销。
  • /Sync – 将前台(启动/登录)处理更改为同步。
  • /Target - 指定是仅为用户还是仅为计算机更新策略设置。默认情况下,会同时更新用户和计算机的策略设置。
  • /Boot – 应用组策略设置后,重新启动计算机。

使用组策略管理控制台(Group Policy Management Console,GPMC)强制更新组策略

强制更新 Windows 组策略的第二种方法是使用组策略管理控制台。虽然 gpupdate 命令会为所有 OU 更新所有策略,但 GPMC 允许你将更新限制到特定的 OU。请执行以下步骤:

  1. 打开 GPMC(组策略管理控制台)
  2. 将 GPO 链接到某个 OU。
  3. 右键单击所需的 OU,然后选择“Group Policy Update”选项。
  4. 在出现的“Force Group Policy Update”对话框中,点击“Yes”确认操作。
Force a group policy update using the Group Policy Management Console (GPMC

使用 PowerShell 在计算机上远程强制更新组策略

要远程更新组策略,你需要使用 PowerShell。自 Windows Server 2012 起,你可以使用该 cmdlet Invoke-GPUpdate 来强制在 Windows 客户端计算机上进行组策略远程更新。你需要同时安装 PowerShell 和组策略管理控制台。该 cmdlet 不会产生任何输出。

使用 Involve-GPUpdate 进行远程组策略更新的示例

使用 Invoke-GPUpdate 这个 cmdlet 的另一个优势在于,“RandomDelayInMinutes” 选项允许你调整延迟时间。如果你想进行立即的组策略(Group Policy)更新,请将其设置为 0,如下所示:

      Invoke-GPUpdate –Computer LHE-LT-ADAM -RandomDelayInMinutes 0
      

在此示例中,标识为“LHE-LT-ADAM”的计算机在启动组策略(Group Policy)更新后立刻被重新启动。该 cmdlet 不会产生任何输出。使用此参数的唯一缺点是用户会看到一个 cmd 窗口弹出。

如果你想强制对所有计算机进行更新,请运行下面的代码。它会从域中获取所有计算机,将它们放入变量中,并为每个对象执行相应的命令。

      $compgpoupd = Get-ADComputer -Filter *
$compgpoupd | ForEach-Object -Process {Invoke-GPUpdate -Computer $_.name -RandomDelayInMinutes 0 -Force}

      

使用 RandomDelayInMinutes 参数的唯一缺点是用户会看到一个 cmd 窗口弹出。

该代码会从域中获取所有计算机,将它们放入变量中,然后为每个对象执行命令。

在应用 GPO 之前先配置防火墙

在打开 GPMC 之前,请确保防火墙允许特定端口的入站网络流量。从 Windows Server 2012 开始,在组策略编辑器中有一个名为“ The Group Policy Remote Update Firewall Ports”的入门 GPO,用于验证是否已为远程计划任务管理配置 TCP 端口 135。

使用 GPO 启用 Windows 防火墙(高级安全性):

  1. 启动组策略管理界面。
  2. 在导航窗格中展开以下内容:Forest (YourForestName) => Domains (YourDomainName) => Group Policy Objects: (YourDomainName) => 右键单击要编辑的 GPO,然后选择 Edit
Configure firewalls before applying GPOs
  1. 在导航栏中,选择 Group Policy Management Editor,选择 Computer Configuration => Policies => Windows Settings => Security Settings => Windows Firewall with Advanced Security => Advanced Security for Windows Firewall.
Configure firewalls before applying GPOs

GPO 后台刷新

当达到后台刷新间隔时,所有组策略客户端都会处理 GPO,但只处理那些自客户端上次请求以来是新的或已发生更改的 GPO。

不过,就安全设置而言,组策略引擎的工作方式不同。它只会为 security policy 设置请求一种特殊的后台刷新。该机制称为 background security refresh,并且适用于每个版本的 Windows Server。每隔 16 小时,每个组策略客户端都会向 Active Directory 查询所有包含安全设置的 GPO(不仅是发生了更改的那些),并重新应用这些安全设置。这样可以确保:如果客户端上的某个安全设置发生了更改(即在组策略引擎“背后”被改动),那么它会在 16 小时内自动恢复到正确的设置。

本地 GPO 的后台刷新流程

如前所述,你可能需要强制刷新组策略(Group Policy)的一个关键原因是:本地管理员(或对手,或已经入侵了他们的账号!)可能会对其机器上的设置进行更改,从而使你通过 GPO 设置的策略失效。这些更改可能会损害生产力,甚至危及安全。例如,本地管理员可能会覆盖你“禁止使用 USB 驱动器”的 GPO 设置,从而既能实现数据窃取,也能引入恶意软件。

因此,应仅在确实需要时才授予本地管理员权限。绝不应将本地管理员权限授予普通用户。

强制重新应用非安全组策略设置

如上所述,常规后台更新仅适用于新的和已更改的 GPO。不过,你可以修改常规后台刷新,使其在即使 GPO 没有发生变化的情况下也重新应用某些设置。这是一种修复与安全无关的漏洞利用(exploits)的良好方式。

具体而言,你可以选择在每次初始策略处理和后台刷新期间,强制重新应用以下组策略(Group Policy)区域:

  • 注册表(管理模板)
  • Microsoft Edge 维护
  • IP 安全
  • EFS 恢复策略
  • 无线策略
  • 磁盘配额
  • 脚本
  • 安全
  • 文件夹重定向
  • 软件安装
  • 有线策略

Netwrix 如何提供帮助

组策略(Group Policy)是管理 Windows 基础设施设置的极其强大的方式。但它也同样复杂。事实上,经过多年的兼并与收购、员工更替、技术变更等,组策略几乎不可能仅依靠手动方法和原生工具来有效管理。

Netwrix PolicyPak 简化组策略管理,并让您能够清理和整合 GPO。其结果是,您的组织将获得更快的登录、更高的安全性、更好的正常运行时间以及更少的错误配置。

申请免费试用:简化组策略管理

结论

在整个 IT 环境中保持组策略(Group Policy)设置为最新状态,对提升生产力、保障安全、满足合规要求等至关重要。尽管 GPO 更改会在下一个刷新间隔时自动应用;但你也可以强制刷新,以便立即生效。作为额外的安全措施,你可以确保某些组策略设置即使未发生变化也始终会被重新应用,从而回退本地管理员所做的任何不希望的更改。

常见问题

如何更新组策略?

要手动更新组策略,管理员可以使用 gpupdate /force 命令、组策略管理控制台(GMPC)或 PowerShell。 /force 开关使管理员能够重新应用所有策略设置

gpupdate /force 会做什么?

组策略会根据后台刷新计划自动更新。不过,有时需要让更新或新策略更快生效,或者组织需要撤销本地管理员所做的错误策略更改。遇到这种情况,管理员可以使用 /force 参数,通过 gpupdate 命令立即应用组策略更新。

使用 gpupdate /force 更新组策略需要多长时间?

强制更新组策略所需的时间取决于正在应用的策略数量。更新少量策略可能只需要几分钟,但通常该过程包括 90 分钟的应用时间,以及用于工作负载分配的 30 分钟延迟。

分享到

了解更多

关于作者

Asset Not Found

Jonathan Blackwell

软件开发负责人

自 2012 年以来,工程师兼创新者 Jonathan Blackwell 一直提供工程领导力,使 Netwrix GroupID 成为 Active Directory 和 Azure AD 环境中群组与用户管理领域的领先者。他在研发、市场与销售方面的经验,使 Jonathan 能够全面理解 Identity 市场以及买家如何思考。