备份/还原并将本地组策略设置导出到另一台计算机

时间:2020-01-09 10:46:18  来源:igfitidea点击:

组策略是配置Windows设置的强大且灵活的工具,是在Active Directory域中将计算机设置为单一配置的不可或缺的手段。如果没有域,则可以使用本地组策略配置单机设置。本地策略的一个显著缺点是它们不能在工作组中的计算机之间集中分布。因此,管理员必须在每台计算机上手动配置组策略设置。如果有许多计算机和设置要配置,它不是太有效率…

工作组中的一台计算机应具有本地组策略的引用设置和要应用于其他计算机的安全设置,并且在进行任何更改后,可以将此配置复制到其他计算机。
在本文中,我们将考虑这个场景。它允许将本地组策略设置从一台配置的计算机快速导出和传输(迁移)到工作组中的其他计算机。

计算机间本地组策略迁移问题

在计算机之间迁移本地GPO设置的最简单方法是手动将 %systemroot%\System32\GroupPolicy文件夹(默认情况下,此目录是隐藏的)的内容从一台计算机复制到另一台计算机,并替换其内容(替换文件后,使用命令gpupdate/force手动运行策略更新(或重新启动电脑)。

这种方法很简单,但有一些主要缺点:

不能用于迁移本地安全模板;
如果源计算机和目标计算机上的操作系统版本及其内部版本不同,GPO可能无法工作;
无法基于本地策略创建域GPO(通过将策略导入Active Directory域以供其进一步使用);
复制策略时,必须手动更正设置中对本地计算机名的任何引用;
迁移自定义ADMX模板时存在一些问题。

导入/导出用创建的本地GPOgpedit.msc软件,使用 LocalGPO工具更简单、更方便,它是MicrosoftSecurityComplianceManager 3.0的一部分。LocalGPO不仅可以快速创建本地GPO的备份和还原本地策略设置,还可以创建一个可执行文件GPOPack,以便在一次单击中将本地GPO设置迁移(导入)到另一台计算机。

重要提示。LocalGPO实用程序现在已被弃用,并且不受Microsoft的正式支持。此外,它在现代Windows 10和Windows Server 2016中不起作用(尽管可以通过修改脚本代码绕过此限制,如下所述)。要在计算机之间导出、导入和传输本地GPO设置,建议使用该工具LGPO.exe文件(使用此实用程序的示例可以在本文的最后一节中找到)。
LocalGPO工具允许您导出所有本地策略设置,包括来自INF、POL、Audit、firewall部分等的设置。LocalGPO非常适合在没有域的公司中使用,以便在工作组中的计算机之间分发GPO模板。它与Microsoft部署工具包(MDT)或SCCM结合使用也非常有用。

如何安装LocalGPO

要在本地计算机上安装LocalGPO(在本例中,它将是本地GPO设置的主镜像):

下载 安全合规管理器(SCM)3.0(https://technet.microsoft.com/en-us/solutionaccelerators/cc835245.aspx);

打开 Security_Compliance_Manager_Setup.exe

。我们不想完全执行安全性符合管理器,因为它相当重,包含了许多我们不需要为我们的任务(SQL Server Express,微软Visual C++ 2010可再分发等)的组件。

data.cab提取出来(例如,放入C:\Distr\data文件夹);

在这个目录中,找到 GPOMSI文件并将其重命名为 GPO.msi

运行GPO.msi进行安装。

让我们来看看如何使用 LocalGPO。我们只能通过控制台界面(命令提示符)进行管理。以管理员身份启动命令提示符,转到文件夹 C:\Program Files\LocalGPO(对于x86系统)或者 C:\Program Files(x86)\LocalGPO(对于x64系统)。

。如果尝试在Windows 10中使用LocalGPO实用程序迁移本地组策略,则会出现错误:

LocalGPO Tool
--------------------------
This tool only runs on Windows XP Professional, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8, or Windows Server 2012

事实上,LocalGPO实用程序只支持windows8之前的Windows版本(windowsserver2012)。在较新的Windows版本(Windows 8.1、Windows 10)中,建议使用新的实用程序LGPO.exe文件(请参阅本文的最后一节)。虽然从技术上讲本地gpo.wsf脚本同时支持Windows 10/8.1和Windows Server 2015/2012 R2. 为了使本地gpo.wsf脚本在新的OSs中运行正常,只需增加以下几行就可以更改OS版本检查功能(ChkOSVersion)的代码:

If(Left(strOpVer,4) = "10.0") and (strProductType = "1") then
strOS = "Win10"
ElseIf(Left(strOpVer,3) = "6.3") and (strProductType <> "1") then
strOS = "WS16"
ElseIf(Left(strOpVer,3) = "6.3") and (strProductType = "1") then
strOS = "Win81"

如何导出本地策略设置

要将本地GPO设置导出到C:\GPObackup文件夹(必须事先创建此目录),请运行以下命令:

cscript LocalGPO.wsf /Path:C:\GPObackup /Export

目标目录中会出现一个具有某些GPO GUID的新文件夹。它将包含此计算机的所有本地策略设置。

实际上,我们已经创建了一个本地GPO备份,它可以回滚到任何需要的时间。

这个LocalGPO.wsf实用程序支持多个本地GPO(MLGPO)。要导出与特定本地组或者用户关联的本地策略,需要使用以下格式LocalGPO.wsf脚本:

cscript LocalGPO.wsf /Path:C:\GPObackup /Export /MLGPO:Administrators

或者

cscript LocalGPO.wsf /Path:C:\GPObackup /Export /MLGPO:LocalUserName

如何导入本地GPO设置

要从备份还原本地组策略设置,请使用以下命令导入它们。指定包含备份的目录的路径作为参数:

cscript LocalGPO.wsf /Path:C:\GPObackup\{B6545366-C0B0-4848-BF39-A17F0B4F0E9A}

GPOPack:本地GPO部署格式

使用LocalGPO,我们可以创建一个[GPOPack]包,它有助于轻松地将本地GPO设置部署到其他计算机(不需要在目标计算机上安装LocalGPO)。此格式还便于在使用Microsoft部署工具包(MDT)或者Microsoft System Center Configuration Manager(SCCM)的OS部署任务中使用。要制作可移植的包,请运行以下命令:

cscript LocalGPO.wsf /Path:C:\GPObackup /Export /GPOPack