Перенос настроек локальной групповой политики между компьютерами

Групповые политики являются мощным и одновременно гибким инструментом настройки параметров ОС Windows и являются незаменимым средством приведения компьютеров к единой конфигурации в рамках домена Active Directory. При отсутствии домена настраивать параметры отдельного компьютера можно через локальную групповую политику. Существенный недостаток локальных политик – отсутствие средств их распространения между компьютерами рабочей группы. В результате, администратору приходится на каждом компьютере вручную настраивать параметры групповой политики. При большом количестве компьютеров и настраиваемых параметров это не очень-то продуктивно…

Оптимально было бы создать в рамках рабочей группы некий эталонный компьютер с необходимыми настройками локальных групповых политик и параметров безопасности, которые должны быть применены на всех компьютерах, и при внесении изменений распространять эту конфигурацию на остальные ПК.

В этой статье мы рассмотрим, как раз такой сценарий, позволявший просто и быстро перенести настройки локальной групповой политики с одного настроенного компьютера на другие ПК в рабочей группе.

Проблемы переноса локальных Group Policy между компьютерами

Самый простой способов перенести настройки локальной GP (групповой политики) между компьютерами – вручную скопировать содержимое папки %systemroot%\System32\GroupPolicy (по умолчанию этот каталог скрыт) с одного компьютера на другой с заменой содержимого (после замены файлов нужно вручную запустить обновление политик командой gpupdate /force или перезагрузить ПК).

Этот метод довольно прост, но имеет несколько существенных недостатков:

  1. Так не переносятся локальные параметры безопасности (Security Templates);
  2. Есть вероятность неработоспособности GPO, если версия или сборка ОС на компьютере-доноре и получателе сильно отличаются;
  3. Невозможность создания на базе локальной политики доменной GPO (импорта политики в домен Active Directory для дальнейшего использования);
  4. При копировании политики придется вручную править любые упоминания имени локального компьютера в настройках;
  5. Есть ряд проблем с переносом нестандартных admx шаблонов.

Гораздо проще и удобнее для импорта/экспорта локальной групповой политики, созданной с помощью gpedit.msc, воспользоваться утилитой LocalGPO, входящей в состав пакета Microsoft Security Compliance Manager 3.0. Утилита LocalGPO позволяет не только быстро создать резервную копию локальной GPO и восстанавливать из нее настройки локальных политик, но и создавать исполняемый файл GPOPack, позволяющий одним щелчком перенести (импортировать) настройки локальной GPO на другую машину.

Важно. Утилита LocalGPO на данный момент является устаревшей и официально не поддерживается Microsoft. Кроме того, она не работает в современных Windows 10 и Windows Server 2016 (хотя это можно обойти с помощью модификации скрипта, описанного ниже). Для экспорта, импорта и переноса настроек локальных GPO между компьютерами рекомендуется использовать утилиту LGPO.exe (примеры использования данной утилиты вы можете найти в последнем разделе этой статьи).

Утилита LocalGPO – позволяет экспортировать все настройки локальных политик, в том числе из разделов INF, POL, Audit, параметры политики брандмауэра Windows и т.п. LocalGPO идеально подходит для использования в организациях без доменов для распространения шаблона групповой политики между компьютерами. Также она крайне полезна при использовании в связке с системой развертывания Microsoft Deployment Toolkit (MDT) или SCCM.

Установка утилиты LocalGPO

Чтобы установить утилиту LocalGPO на локальном компьютере (в нашем случае он будет выступать в качестве донора настроек локальной групповой политики):

  1. Скачайте пакет Security Compliance Manager (SCM) 3.0 (https://technet.microsoft.com/en-us/solutionaccelerators/cc835245.aspx
  2. Откройте скачанный файл Security_Compliance_Manager_Setup.exe как архив с помощью любого архиватора (7Zip или WinRar).
    Примечание. Мы не хотим целиком устанавливать пакет Security Compliance Manager, т.к. он достаточно тяжелый и содержит множество компонентов, которые нам не требуются для этой задачи (SQL Server Express, Microsoft Visual C++ 2010 Redistributable и т.д.).
    Распаковываем Security Compliance Manager (SCM) 3.0
  3. Извлеките из архива файл data.cab, который в свою очередь распакуйте (например в каталог C:\Distr\data).
  4. Найдите в полученном каталоге файл GPOMSI и переименуйте его в GPO.msi.GPOMSI нужно переименовать в GPO.msi
  5. Запустите установку GPO.msi.Установка утилиты LocalGPO

Разберемся, как пользоваться утилитой 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.wsf не поддерживается в Windows 10

Дело в том, что утилита 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"

ChkOSVersion функция проверки версии ОС в скрипте LLocalGPO.wsf ocalGPO.wsf

Экспорт локальной политики

Для экспорта настроек локальной групповой политики в каталог C:\GPObackup (каталог нужно создать предварительно), выполним команду
cscript LocalGPO.wsf /Path:C:\GPObackup /Export

LocalGPO - экспорт локальных политикВ целевом каталоге появится новая папка с неким 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}

Импорт настроек Local Group Policy

GPOPack – формат переноса локальной групповой политики на другие компьютеры

Утилита LocalGPO предполагает возможность создания пакета GPOPack, предназначенного для удобного импорта настроек локальной GPO на другие компьютеры (не требует предварительной установки LocalGPO на целевой компьютер). Этот же формат удобен для использования в задачах развертывания ОС через Microsoft Deployment Toolkit (MDT) или Microsoft System Center Configuration Manager (SCCM). Для создания переносимого пакета, выполним:
cscript LocalGPO.wsf /Path:C:\GPObackup /Export /GPOPack
Формат переноса настроек GPO между компьютерами gpopackСкопируем полученную папку на другой компьютер (на котором планируется применить эти политики), откроем командную строку с правами администратора и запустим файл GPOPack.wsf.

Сообщение «Applied GPOPack to Local Policy» говорит о том, что политики перенесены успешно. Осталось перезагрузить систему и проверить, что на этот компьютер теперь действуют такие же настройки локальной политики.

Applied GPOPack to Local PolicyПолный список аргументов утилиты LocalGPO.wsf доступен с ключом /?:

cscript LocalGPO.wsf /?

LocalGPO help

Сброс настроек локальной политики на значения по-умолчанию

С помощью 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 для автоматизации управления локальными групповыми политиками

Утилита LGPO.exe обладает следующими возможностями:

  • Возможность экспорта настроек локальной групповой политик.
  • Импортировать настройки GPO из резервной копии. Поддерживается импорт в том числе файлов registry.pol, шаблонов безопасности, CSV файлов.
  • Преобразование файлов registry.pol в удобочитаемый формат LGPO и наоборот.

Чтобы экспортировать текущие настройки локальной GPO в указанный каталог, выполните команду:

LGPO.exe /b c:\tools\GPO

lgpo.exe экспорт настроек локальной 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

Внесите необходимые изменения в файл с параметрами реестра 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​"

LGPO.exe импорт тектсового файла registry.pol

Чтобы импортировать (перенести) настройки локальной GPO с этого компьютера на другой, скопируйте каталог с политикой на целевой компьютере и выполните команду:

LGPO.exe /g C:\tools\GPO\

импорт настроек локальных политик через lgpo.exe

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

Итак, как вы видите, пользоваться утилитой LGPO.exe для создания бэкапа локальных политик и переноса настроек GPO между компьютерами совсем несложно.


Предыдущая статья Следующая статья


Комментариев: 29 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)