在Windows中重置本地组策略设置
组策略对象(GPO)是Windows中配置用户和系统设置的主要工具之一。可以将本地策略和域策略(如果计算机位于Active Directory域中)应用于该计算机及其用户。组策略是配置系统并能够提高其性能和安全性的绝佳方法。但是,决定对计算机安全性进行一些实验的新手系统管理员可能会错误地配置本地(或者域)GP的某些设置,并遇到不同的问题。
在这种情况下,当我们无法在本地登录或者不完全知道哪个应用的策略设置会导致问题时,我们必须使用脚本将组策略设置重置为默认状态。在干净状态下,未指定任何组策略设置。
在本文中,我们展示了几种将本地和域组策略的设置重置为默认值的方法。该说明是通用的,可用于在所有受支持的Windows版本上重置GPO设置:从Windows 7开始到Windows 10,以及所有版本的Windows Server(2008/R2、2012/R2和2015)。
如何使用Gpedit.msc控制台重置本地组策略
此方法涉及使用本地组策略编辑器控制台(gpedit.msc)的GUI禁用所有已配置的策略。图形本地GPO编辑器仅在Pro,Enterprise和Education Windows版本中可用。
提示。在Windows的Home版本中,"本地组策略编辑器"控制台丢失。
运行gpedit.msc管理单元,然后转到"所有设置"部分("本地计算机策略->计算机配置>管理模板")。本部分包含可用于本地管理模板中配置的所有策略的列表。按"状态"列对策略进行排序,然后找到所有活动的策略("已禁用"或者"已启用"状态)。通过将其全部或者部分切换为"未配置"状态来关闭它们。
在"用户配置"部分中执行相同的步骤。因此,我们可以关闭管理GPO模板的所有设置。
提示。可以使用内置的GPResult实用程序使用以下命令来获取便捷的html报告中所有已应用的本地和域策略设置的列表:
gpresult /h c:\PS\GPRreport.html
上述在Windows中重置组策略的方法适用于最简单的情况。组策略的错误配置会导致更严重的问题,例如无法启动gpedit.msc管理单元或者什至所有程序,失去管理员特权或者限制本地登录。让我们更详细地考虑这些情况。
从命令提示符处将所有本地组策略设置重置为默认值
本节介绍如何在Windows中强制重置所有当前的组策略设置。但是,首先,我们将描述Windows中管理组策略模板的一些操作原理。
组策略的体系结构基于特殊的" Registry.pol"文件。这些文件存储与配置的组策略设置相对应的注册表设置。用户和计算机策略存储在不同的Registry.pol文件中。
- 计算机设置("计算机配置"部分)存储在%SystemRoot%\ System32\GroupPolicy\Machine\registry.pol中
- 用户设置("用户"配置"部分")存储在%SystemRoot%\ System32\GroupPolicy\User\registry.pol中
在启动过程中,系统将\ Machine\Registry.pol的内容导入到系统注册表项HKEY_LOCAL_MACHINE(HKLM)。用户登录系统时,文件\ User\Registry.pol的内容将导入到HKEY_CURRENT_USER(HKCU)。
启动时,本地组策略编辑器将加载这些文件的内容,并以用户友好的图形方式显示出来。关闭GPO编辑器时,所做的更改将写入Registry.pol文件。更新组策略(使用gpupdate/force命令或者按计划)后,新设置将落入注册表。
提示若要更改Registry.pol文件,值得仅使用GPO编辑器控制台。不建议手动或者使用旧版本的GPO编辑器来编辑Registry.pol文件!
若要重置本地组策略的所有当前设置,必须删除GroupPolicy目录中的Registry.pol文件。我们可以使用以下命令来执行此操作,并以管理员权限在命令提示符下运行它们:
RD /S /Q "%WinDir%\System32\GroupPolicyUsers" RD /S /Q "%WinDir%\System32\GroupPolicy"
之后,我们需要更新注册表中的策略设置:
gpupdate /force
这些命令将重置"计算机配置"和"用户配置"部分中的所有本地组策略设置。
打开gpedit.msc并确保所有策略都处于"未配置"状态。运行gpedit.msc控制台后,将使用默认设置自动创建已删除的文件夹。
如何在Windows中重置本地安全策略
在单独的mmc控制台secpol.msc中配置"本地安全策略"。如果计算机问题是由于拧紧本地安全设置中的螺钉引起的,并且用户保留了对系统的访问权限和管理特权,则最好将安全设置重置为默认值。为此,请在管理员下运行以下命令:
- 在Windows 10,Windows 8.1/8和Windows 7中:
secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
- 在Windows XP中:
secedit /configure /cfg %windir%\repair\secsetup.inf /db secsetup.sdb /verbose
之后,重新启动计算机。
如果仍然存在安全策略问题,请尝试手动重命名本地安全策略数据库%windir%\ security\database\edb.chk的检查点文件。
ren %windir%\security\database\edb.chk edb_old.chk
运行命令:
gpupdate /force
重新启动Windows:
Shutdown –f –r –t 0
如果无法登录Windows,如何重置本地策略
如果无法在本地登录系统或者无法运行命令行(例如,应用程序已用Applocker锁定),则可以在从任何Windows安装磁盘或者LiveCD引导时删除Registry.pol文件。
- 从任何Windows安装媒体启动并运行命令提示符(Shift + F10)
- 运行命令:
diskpart
- 然后显示系统中的卷列表:
list volume
在这种情况下,分配给系统磁盘的字母对应于系统C:\的字母。但是,有时这些可能会有所不同。因此,以下命令必须在系统磁盘的上下文中运行(例如D:\或者C:)
- 关闭diskpart:
exit
- 一一运行以下命令:
RD /S /Q C:\Windows\System32\GroupPolicy RD /S /Q C:\Windows\System32\GroupPolicyUsers
- 在正常模式下重新启动计算机,并确保将本地组策略设置重置为其默认值。
重置已应用的域GPO设置
关于域组策略的几句话。如果计算机包含在Active Directory域中,则域管理员可以通过基于域的GPO来管理其某些设置。
所有已应用域组策略的Registry.pol文件存储在目录%windir%\ System32\GroupPolicy\DataStore\0\SysVol\contoso.com\Policies中。每个策略与域策略的GUID存储在一个单独的文件夹中。
这些registry.pol文件对应于以下注册表项:
- HKLM\Software\Policies\Microsoft
- HKCU\Software\Policies\Microsoft
- HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects
- HKCU\Software\Microsoft\Windows\CurrentVersion\Policies
客户端上已使用的已应用域策略的版本历史记录位于以下分支中:
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\History\
- HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy\History\
如果从域中删除计算机,则计算机上域策略的registry.pol文件将被删除,因此不会被加载到注册表中。
如果需要强制删除域GPO设置,则需要清理%windir%\ System32\GroupPolicy\DataStore\0\SysVol\contoso.com\Policies目录并删除指定的注册表项(强烈建议我们返回删除文件和注册表项!!!然后运行命令:
gpupdate /force /boot
此方法允许在所有受支持的Windows版本中重置所有本地GPO设置。使用组策略编辑器进行的所有设置都将重置。但是,使用注册表编辑器,REG文件或者以任何其他方式直接对注册表所做的更改不会被取消。