Перенос локальной групповой политики между компьютерами
Групповые политики являются мощным и одновременно гибким инструментом настройки параметров ОС Windows и являются незаменимым средством приведения компьютеров к единой конфигурации в рамках домена Active Directory. При отсутствии домена настраивать параметры отдельного компьютера можно через локальную групповую политику. Существенный недостаток локальных политик – отсутствие средств их распространения между компьютерами рабочей группы. В результате, администратору приходится на каждом компьютере вручную настраивать параметры групповой политики. При большом количестве компьютеров и настраиваемых параметров это не очень-то продуктивно…
Оптимально было бы создать в рамках рабочей группы некий эталонный компьютер с необходимыми настройками локальных групповых политик и параметров безопасности, которые должны быть применены на всех компьютерах, и при внесении изменений распространять эту конфигурацию на остальные ПК.
В этой статье мы рассмотрим, как раз такой сценарий, позволявший просто и быстро перенести настройки локальной групповой политики с одного настроенного компьютера на другие ПК в рабочей группе.
Проблемы переноса локальных Group Policy между компьютерами
Самый простой способов перенести настройки локальной GP (групповой политики) между компьютерами – вручную скопировать содержимое папки %systemroot%\System32\GroupPolicy (по умолчанию этот каталог скрыт) с одного компьютера на другой с заменой содержимого (после замены файлов нужно вручную запустить обновление политик командой gpupdate /force или перезагрузить ПК).
Этот метод довольно прост, но имеет несколько существенных недостатков:
Так не переносятся локальные параметры безопасности (Security Templates);
- Есть вероятность неработоспособности GPO, если версия или сборка ОС на компьютере-доноре и получателе сильно отличаются;
- Невозможность создания на базе локальной политики доменной GPO (импорта политики в домен Active Directory для дальнейшего использования);
- При копировании политики придется вручную править любые упоминания имени локального компьютера в настройках;
- Есть ряд проблем с переносом нестандартных admx шаблонов.
Гораздо проще и удобнее для импорта/экспорта локальной групповой политики, созданной с помощью gpedit.msc, воспользоваться утилитой LocalGPO, входящей в состав пакета Microsoft Security Compliance Manager 3.0. Утилита LocalGPO позволяет не только быстро создать резервную копию локальной GPO и восстанавливать из нее настройки локальных политик, но и создавать исполняемый файл GPOPack, позволяющий одним щелчком перенести (импортировать) настройки локальной GPO на другую машину.
Утилита LocalGPO – позволяет экспортировать все настройки локальных политик, в том числе из разделов INF, POL, Audit, параметры политики брандмауэра Windows и т.п. LocalGPO идеально подходит для использования в организациях без доменов для распространения шаблона групповой политики между компьютерами. Также она крайне полезна при использовании в связке с системой развертывания Microsoft Deployment Toolkit (MDT) или SCCM.
Установка утилиты LocalGPO
Чтобы установить утилиту LocalGPO на локальном компьютере (в нашем случае он будет выступать в качестве донора настроек локальной групповой политики):
- Скачайте пакет Security Compliance Manager (SCM) 3.0 (https://technet.microsoft.com/en-us/solutionaccelerators/cc835245.aspx
- Откройте скачанный файл Security_Compliance_Manager_Setup.exe как архив с помощью любого архиватора (7Zip или WinRar).

- Извлеките из архива файл data.cab, который в свою очередь распакуйте (например в каталог C:\Distr\data).
Найдите в полученном каталоге файл GPOMSI и переименуйте его в GPO.msi.


Разберемся, как пользоваться утилитой LocalGPO. Управление возможно только через интерфейс консоли (командной строки). Откроем командную строку с правами администратора и перейдем в каталог C:\Program Files\LocalGPO (на 32 битных системах) или C:\Program Files (x86)\LocalGPO (на 64-битных).
Примечание. Если вы попытаетесь использовать утилиту LocalGPO для переноса локальных групповых политик в Windows 10, вы получите ошибку.
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 поддерживает только для Windows 8 (Windows Server 2012) и ниже. В более новых версиях Windows (Windows 8.1, Windows 10) рекомендуется использовать новую утилиту LGPO.exe (см. последний раздел в этой статье). Хотя технически, старый скрипт LocalGPO.wsf поддерживает и Windows 10 / 8.1 и Windows Server 2016 / 2012 R2. Чтобы LocalGPO.wsf работал с новыми ОС, достаточно изменить в файле код функции проверки версии ОС (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"

Экспорт локальной политики
Для экспорта настроек локальной групповой политики в каталог C:\GPObackup (каталог нужно создать предварительно), выполним командуcscript LocalGPO.wsf /Path:C:\GPObackup /Export
В целевом каталоге появится новая папка с неким GPO GUID, в которой будут содержаться все параметры локальной политики компьютера.
По сути мы создали резервную копию локальной GPO, к которой мы всегда сможем откатиться.
Утилита LocalGPO.wsf поддерживает работу с множественной локальной групповой политикой (Multiple Local GPO — MLGPO). Чтобы выгрузить локальную политику, привязанную к конкретной локальной группе или пользователю, нужно использовать следующий формат использования LocalGPO.wsf.
cscript LocalGPO.wsf /Path:C:\GPObackup /Export /MLGPO:Administrators
Или
cscript LocalGPO.wsf /Path:C:\GPObackup /Export /MLGPO:LocalUserName
Импорт настроек локальной GPO
Чтобы восстановить настройки Local Group Policy из полученной копии, выполним импорт следующей командой, указав в качестве аргумента путь к каталогу.cscript LocalGPO.wsf /Path:C:\GPObackup\{B6542366-C0C0-4948-AF39-B17F0B1F0E9A}
GPOPack – формат переноса локальной групповой политики на другие компьютеры
Утилита LocalGPO предполагает возможность создания пакета GPOPack, предназначенного для удобного импорта настроек локальной GPO на другие компьютеры (не требует предварительной установки LocalGPO на целевой компьютер). Этот же формат удобен для использования в задачах развертывания ОС через Microsoft Deployment Toolkit (MDT) или Microsoft System Center Configuration Manager (SCCM). Для создания переносимого пакета, выполним:cscript LocalGPO.wsf /Path:C:\GPObackup /Export /GPOPack
Скопируем полученную папку на другой компьютер (на котором планируется применить эти политики), откроем командную строку с правами администратора и запустим файл GPOPack.wsf.
Сообщение «Applied GPOPack to Local Policy» говорит о том, что политики перенесены успешно. Осталось перезагрузить систему и проверить, что на этот компьютер теперь действуют такие же настройки локальной политики.
Полный список аргументов утилиты LocalGPO.wsf доступен с ключом /?:
cscript LocalGPO.wsf /?
Сброс настроек локальной политики на значения по-умолчанию
С помощью LocalGPO можно сбросить все текущие настройки локальной политики на стандартные, для этого выполним команду:
cscript LocalGPO.wsf /Restore
Импорт локальной групповой политики в домен AD
Формат импорта политик LocalGPO предполагает возможность импорта настроек локальной групповой политики в доменную GPO. Эта операция может быть выполнена через функционал резвого копирования и восстановления доменных GPO в консоли управления GPMC (Group Policy Management Console). Пример использования подобной техники есть в статье Перенос GPO между доменами.
Утилита LGPO.exe для управления локальными GPO
Утилита консольной строки LGPO.exe предназначена для автоматизации управления локальными групповыми политиками и предназначена заменить более не поддерживаемую утилиту LocalGPO. Поэтому в настоящий момент рекомендуется использовать только ее. LGPO.exe входит в состав Security Compliance Manager (SCM).
Скачать LGPO.exe можно по ссылке https://www.microsoft.com/en-us/download/details.aspx?id=55319.

Утилита LGPO.exe обладает следующими возможностями:
- Возможность экспорта настроек локальной групповой политик.
- Импортировать настройки GPO из резервной копии. Поддерживается импорт в том числе файлов registry.pol, шаблонов безопасности, CSV файлов.
- Преобразование файлов registry.pol в удобочитаемый формат LGPO и наоборот.
Чтобы экспортировать текущие настройки локальной GPO в указанный каталог, выполните команду:
LGPO.exe /b c:\tools\GPO

Утилита выгрузит все текущие настройки политик в папку с GUID групповой политики.
Чтобы представить текущие настройки GPO в файле резервной копии из файла registry.pol в удобном для анализа текстовом виде, выполните команду:
lgpo.exe /parse /m "C:\tools\GPO\{6DFFBBF4-91A3-4235-925B-FD108878E8F}\DomainSysvol\GPO\Machine\registry.pol">>c:\tools\gpo\lgpo.txt
Откройте текстовый файл lgpo.txt. Как вы видите, в нем содержаться все настройки реестра, которые применяются данной политикой.

Внесите необходимые изменения в файл с параметрами реестра lgpo.txt и сконвертируйте его в формат registry.pol:
LGPO.exe /r "C:\tools\GPO\lgpo.txt" /w "C:\tools\GPO\registry_new.pol"
Теперь импортируйте новые настройки политик из pol файла:
LGPO.exe /m "C:\tools\GPO\registry_new.pol"

Чтобы импортировать (перенести) настройки локальной GPO с этого компьютера на другой, скопируйте каталог с политикой на целевой компьютере и выполните команду:
LGPO.exe /g C:\tools\GPO\

Версия LGPO v2.2 поддерживает корректную работу с множественной локальной политикой (MLGPO), которая позволяет настраивать отдельные политики для разных пользователей (доступно в Windows Vista и выше).
Итак, как вы видите, пользоваться утилитой LGPO.exe для создания бэкапа локальных политик и переноса настроек GPO между компьютерами совсем несложно.