当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何使用 GPUpdate /Force 命令更新组策略

作者:精品下载站 日期:2024-12-14 18:50:56 浏览:15 分类:玩电脑

如何使用 GPUpdate /Force 命令更新组策略


命令 gpupdate /force 用于强制更新您公司应用的组策略。默认情况下,组策略中所做的更改不会立即应用,而是在 90 分钟后应用(大约 30 分钟的偏移量以分散负载)。通过使用GPUpdate命令我们可以强制更新。

组策略用于更改安全设置和系统管理(例如部署打印机或映射网络驱动器)。为了解决 IT 问题,有时需要手动更新组策略。

如何强制组策略更新

  1. 按 Windows 键 + X 或右键单击开始菜单

  2. 选择 Windows PowerShell 或命令提示符

    [玩转系统] 如何使用 GPUpdate /Force 命令更新组策略

  3. 输入 gpupdate /force 并按 Enter

    等待计算机和用户策略更新

    [玩转系统] 如何使用 GPUpdate /Force 命令更新组策略

  4. 重新启动计算机

    必须重新启动才能确保应用所有设置。

GPUpdate 与 GPUpdate 强制命令

gpupdate /force 命令可能是最常用的组策略更新命令。当您使用 /force 开关时,所有策略设置都会重新应用。对于大多数用例来说,这完全没问题,但请记住,当您有大量组策略对象 (GPO) 或在大型环境中时,使用 /force 会给域控制器带来巨大的负载。

如果您有大型租户或大量 GPO,那么最好只运行 gpupdate ,而不使用 /force 开关来应用新的策略设置。这将仅获取更改或新的组策略,从而减少客户端和域控制器上的负载。

# Reapply all policies
gpupdate /force

# Get only the changed / new group policies
gpupdate

仅更新用户或计算机组策略

如果您有一个大型环境或需要同时更新许多计算机上的组策略,那么仅更新所需的内容可能会很有用。这将减少域控制器的负载,而且速度当然更快。

为此,您可以使用 /target 开关。这允许您仅更新用户或计算机的 GPO。

# Update only the user policies
gpupdate /target:user

# Update only the computer policies
gpupdate /target:computer

GPUpdate 后自动重启或注销

并非所有政策变更都会立即应用。例如,由于快速启动,某些设置仅在用户登录计算机时应用。有些设置甚至需要重新启动才能应用。

通过使用 /logoff/boot 开关,我们可以让 gpupdate 确定是否需要注销或重新启动。需要明确的是,如果您运行 gpupdate /boot,则仅当策略更改需要时计算机才会重新启动。否则,策略将立即应用,无需重新启动。

  • 例如,在 Active Directory 中进行策略更改(例如文件夹重定向或打印机)后,需要 GPUpdate /logoff 。 AD 中的更改仅在用户登录计算机时应用。

  • 例如,当您创建软件分发更改时需要 GPUpdate /boot

在远程计算机上运行 GPUpdate

有时,您可能需要快速更新多台计算机上的组策略,因为您更改了互联网代理设置或者可能更换了打印机。有几种方法可以在远程计算机上运行 GPUpdate

使用组策略管理控制台

您可以使用组策略管理控制台在整个 OU 上启动组策略更新。它必须是一个仅包含计算机对象的 OU,因此您不能在用户 OU 上使用该方法。只需右键单击已更改策略的 OU,然后单击组策略更新

[玩转系统] 如何使用 GPUpdate /Force 命令更新组策略

这将更新给定组织单位中所有计算机上的用户和计算机策略。好处是它会进行确认并显示将要更新的计算机数量。

[玩转系统] 如何使用 GPUpdate /Force 命令更新组策略

确认更新后,策略将更新,您可以看到每台计算机的状态。在此示例中,5 台计算机已关闭,因此更新失败。

使用 PowerShell 在远程计算机上运行 GPUpdate

我们还可以使用 PowerShell 在远程计算机上运行 gpupdate。唯一的要求是您拥有 Windows 2012 或更高版本。也可以从 Windows 10 运行它,但您需要使用域管理员帐户打开 PowerShell 窗口。

该命令的基础是Invoke-GPUpdate cmd。我们还需要指定计算机RansomDelayInMinutes

RandomDelayInMinutes 用于在同时更新大量计算机时降低网络负载。您可以将其设置在 0 到 44640 分钟(31 天)之间。使用 0 立即运行更新。

Invoke-GPUpdate -Computer "labrat01" -RandomDelayInMinutes 0 -Force

如果用户登录计算机,则 Invoke-GPupdate 命令将要求用户确认。通过使用 -force 开关,我们可以在没有确认的情况下运行更新。

有了这个,我们可以创建一个小脚本来定位特定 OU 中的所有计算机并在它们上运行 GPupdate。

# Spread the load by setting the delay to between 1 and 30 minutes
$random = Get-Random -Minimum 1 -Maximum 30

# Get the computers in an OU to update and run GPUpdate
Get-AdComputer -SearchBase "OU=Computers,OU=Lab,DC=a-d,DC=com" -Filter * | ForEach-Object -Proces {Invoke-GPUpdate -Computer $_.Name -RandomDelayInMinutes $random -Force}

或者,如果您想使用计算机列表:

# Based on a list
$computers = "labpc01,labpc02,labpc03"
$computers | ForEach-Object -Proces {Invoke-GPUpdate -Computer $_ -RandomDelayInMinutes $random -Force}

包起来

我希望本文对您使用 GPUpdate /force 命令有所帮助。如果您有任何疑问,请在下面发表评论。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯