如何通过GPO添加、编辑、部署和导入注册表项?
在本文中,我们将研究如何使用组策略(GPO)在加入域的计算机上集中创建、修改、导入和删除任何注册表项。
在经典的gpo中没有管理注册表参数的内置功能。因此,管理员必须为登录脚本创建自己的管理.adm/.admx模板(Google Chrome的.admx模板示例)或者bat文件(.reg文件是使用
reg import
命令),用于通过GPO集中管理注册表项和参数。
在Windows Server 2008中,Microsoft发布了名为 组策略首选项(GPP)的组策略扩展。组策略控制台中出现了一个特殊部分,允许管理员配置(创建/编辑/删除)任何注册表参数或者项,并将此设置部署到所有域计算机。让我们详细讨论这些特性。
假设我们想通过注册表禁用特定AD域组织单位(OU)中计算机的自动驱动程序更新,方法是更改注册表项 **HKEY U LOCAL U MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching”中的 SearchOrderConfig参数的值。在目标计算机上设置register参数有两种方法:使用集成在GPP控制台中的远程注册表浏览器,或者手动指定注册表项、参数名称和值的路径。
GPO中的远程注册表浏览器
让我们详细讨论第一种方法:
打开组策略管理控制台( gpmc.msc);
创建一个新的(或者编辑现有的)GPO,将其与要在其上部署注册表项的计算机(或者用户)链接到AD中所需的容器(OU),并转到策略编辑模式;
展开GPO部分 计算机(或者 用户配置-> 首选项-> Windows设置-> 注册表,在右键菜单中选择 新建-> 注册表向导;
注册表向导允许我们连接到远程计算机上的注册表,并选择现有注册表项;
指定要连接到的远程计算机名;注意。如果在尝试通过注册表浏览器连接到计算机时出现“找不到网络路径”错误,则很可能是此远程计算机已关闭,对它的访问被防火墙阻止或者远程注册表服务未在其上启动。若要手动启动服务,请在远程计算机上运行以下命令:
sc config remoteregistry start= demand net start remoteregistry
使用远程注册表浏览器,选择要通过GPO部署的所有注册表参数;注意。此浏览器允许我们仅从配置单元HKEY U本地计算机和远程计算机上的HKEY U用户中选择注册表项。如果需要设置其他注册表配置单元中包含的项,则需要在远程计算机上安装RSAT(在Windows 10中安装RSAT)。然后运行gpmc.msc并使用相同的过程选择所需的注册表项。
在我们的示例中,我只想将一个注册表参数导入GPP-SearchOrderConfig;
指定的注册表项将与注册表路径(组策略控制台中出现注册表树)和当前值(0)一起导入到GPP控制台中。将来,我们可以更改其值和所需的操作(这将进一步考虑);
因此,我们已经创建了一个组策略来部署注册表项。下次在目标计算机上更新组策略设置时,这些计算机上的SearchOrderConfig注册表项的值将更改为0(如果该策略不适用于客户端,则可以使用GPResult工具进行诊断)。
如果此GPO被删除,与AD容器断开链接,目标计算机将移动到另一个OU,则注册表参数的值将不会返回其原始(默认)值(与通常的GPO策略设置相同)。
如何使用组策略手动创建/编辑注册表项?
通过手动指定注册表项路径和值,可以使用GPP创建、编辑或者删除特定注册表参数的值。
选择 注册表->新建->注册表项;
根据要更改的注册表参数的数据填写以下字段:配置单元、键路径、值名称、值类型、值数据;
默认情况下,通过GPO配置的注册表设置设置为 更新模式。
有4种类型的操作可用于注册表项:
创建–创建注册表项。如果参数已经存在,则不改变其值;
更新(默认)–根据GPP更新现有参数的值。如果注册表参数不存在,将自动创建它(以及它应该位于的注册表项);
替换–重新删除并重新创建注册表项(很少使用);
删除–删除reg密钥。
常用选项卡中还有许多其他有用的功能:
运行登录用户的安全上下文(用户策略选项)-只在当前用户上下文中创建注册表项(只有GPO的用户部分中的GPP才有可能创建注册表项)。如果用户没有管理员权限,他将无法向受保护的系统注册表项写入任何内容;
不再应用时删除此项——如果策略不再适用于客户端,密钥将自动删除;
应用一次而不重新应用——一个策略只应用于客户端(用户或者计算机)一次。以后不会再申请了。如果在应用GPO后,用户手动更改注册表参数的值,则策略不会在下一个策略更新周期重写其值;
项目级别目标–在客户端上更准确地确定策略目标(我们可以将策略定位到特定的IP、子网、计算机名称、具有特定特征的计算机,即可以配置类似于GPO WMI筛选器的策略实施)。例如,可以指定应将注册表参数应用于AD OU命名服务器中运行Windows Server 2012 R2的计算机。
下面是GPMC控制台(设置选项卡)中最终策略设置的外观。
将.reg文件导入GPO
GPP允许管理员使用多个注册表设置轻松地将.reg文件导入组策略。但要做到这一点,reg文件必须转换为XML格式(组策略编辑器允许我们仅以XML格式导入文件)。
例如,我们有一台通过注册表配置某些设置的参考计算机。通过右键单击中的注册表项名称,可以将这些设置导出到REG文件regedit.exe选择 出口。
将注册表项设置保存到注册表文件。
如果reg文件包含来自不同注册表配置单元(HKLM、HKCU、HKU类)的数据,则需要将它们划分为单独的reg文件。
接下来,我们需要将这个REG文件转换为XML格式。我们可以使用联机服务转换reg->xml
https://www.runecasters.com.au/reg2gpp或者使用PowerShell脚本RegToXML.ps1— https://gallery.technet.microsoft.com/scriptcenter/Registry-To-GroupPolicyPref-9feae9a3.
生成的XML文件必须在文件资源管理器中复制并粘贴到组策略编辑器中的注册表部分。
因此,导入的所有注册表设置都将显示在组策略控制台中,并将应用于域中的目标计算机。