Перенесення налаштувань локальної групової політики між комп'ютерами

групові політики є потужним і одночасно гнучким інструментом налаштування параметрів ОС Windows і є незамінним засобом приведення комп'ютерів до єдиної конфігурації в рамках домену Active Directory. При відсутності домену налаштовувати параметри окремого комп'ютера можна через локальну групову політику. Істотний недолік локальних політик - відсутність коштів їх поширення між комп'ютерами робочої групи. В результаті, адміністраторові доводиться на кожному комп'ютері вручну налаштовувати параметри групової політики. При великій кількості комп'ютерів і параметрів, що настроюються це не дуже-то продуктивно ...

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

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

зміст:

  • Проблеми перенесення локальних Group Policy між комп'ютерами
  • Установка утиліти LocalGPO
  • Експорт локальної політики
  • Імпорт налаштувань локальної GPO
  • GPOPack - формат перенесення локальної групової політики на інші комп'ютери
  • Скидання налаштувань локальної політики на значення за умовчанням
  • Імпорт локальної групової політики в домен AD
  • Утиліта LGPO.exe для управління локальними GPO

Проблеми перенесення локальних 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 і т.д.).
  3. Вийміть з архіву файл data.cab, який в свою чергу розпакуйте (наприклад в каталог C: \ Distr \ data).
  4. Знайдіть в отриманому каталозі файл GPOMSI і перейменуйте його в GPO.msi.
  5. Запустіть установку 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 між комп'ютерами зовсім нескладно.