Групповые политики являются мощным и одновременно гибким инструментом настройки параметров ОС Windows и являются незаменимым средством приведения компьютеров к единой конфигурации в рамках домена Active Directory. При отсутствии домена настраивать параметры отдельного компьютера можно через локальную групповую политику. Существенный недостаток локальных политик – отсутствие средств их распространения между компьютерами рабочей группы. В результате, администратору приходится на каждом компьютере вручную настраивать параметры групповой политики. При большом количестве компьютеров и настраиваемых параметров это не очень-то продуктивно…
Оптимально было бы создать в рамках рабочей группы некий эталонный компьютер с необходимыми настройками локальных групповых политик и параметров безопасности, которые должны быть применены на всех компьютерах, и при внесении изменений распространять эту конфигурацию на остальные ПК.
В этой статье мы рассмотрим, как раз такой сценарий, позволявший просто и быстро перенести настройки локальной групповой политики с одного настроенного компьютера на другие ПК в рабочей группе.
- Проблемы переноса локальных Group Policy между компьютерами
- Установка утилиты LocalGPO
- Экспорт локальной политики
- Импорт настроек локальной GPO
- GPOPack – формат переноса локальной групповой политики на другие компьютеры
- Сброс настроек локальной политики на значения по-умолчанию
- Импорт локальной групповой политики в домен AD
- Утилита LGPO.exe для управления локальными GPO
Проблемы переноса локальных 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).Примечание. Мы не хотим целиком устанавливать пакет Security Compliance Manager, т.к. он достаточно тяжелый и содержит множество компонентов, которые нам не требуются для этой задачи (SQL Server Express, Microsoft Visual C++ 2010 Redistributable и т.д.).
- Извлеките из архива файл data.cab, который в свою очередь распакуйте (например в каталог C:\Distr\data).
- Найдите в полученном каталоге файл GPOMSI и переименуйте его в GPO.msi.
- Запустите установку GPO.msi.
Разберемся, как пользоваться утилитой LocalGPO. Управление возможно только через интерфейс консоли (командной строки). Откроем командную строку с правами администратора и перейдем в каталог C:\Program Files\LocalGPO (на 32 битных системах) или C:\Program Files (x86)\LocalGPO (на 64-битных).
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 между компьютерами совсем несложно.
Да что тут комментировать, когда пока не чего не понятно. Ведь не все с большими головами. Это надо переваривать и переваривать……………….. . А статья не плохая! Спасибо.
А не получится просто скопировать файл LocalGPO.wsf чтобы не устанавливать везде GPOMSI?
Установка файла LocalGPO.wsf на компьютерах не требует установки GPOMSI. Установка осуществляется с помощью cscript / wscript
Я так понимаю что logon\logoff\startup скрипты эта штука не копирует?
Здравствуйте. Экспортировал политики на другой компьютер, после перезагрузки локальные политики не изменились. В логах тоже совершенно ничего нету, можете подсказать где можно ещё посмотреть?
Переносили политик через файл wsf? Что возвращала система? Были ли ошибки?
На исходной и целевой машине версия ОС одинаковые?
Здравствуйте!
Приготовил эталонную машину для проверки!
Настроил на ней локальные политики и экспортировал их с помощью: cscript LocalGPO.wsf /Path:C:\GPObackup /Export /GPOPack
Перенёс созданный пак на другую чистую машину и запустил. Но настройки политики не перенеслись!!!
В чём может быть загвоздка???
На WIn 10 не работает, о чем и выдает ошибку. Как провернуть тоже самое с 4й версией пакета? там нет LocalGPO.
Если не ошибаюсь, в последнем Security Compliance Manager (SCM) вместо скрипта LocalGPO.wsf нужон ипользовать утилиту LGPO.exe _https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/telligent.evolution.components.attachments/01/4062/00/00/03/65/94/11/LGPO.zip
А как перенести политику созданную с помощью mmc для группы Не Администраторы?
Утилита LocalGPO.wsf поддерживает множественные групповые политики. То же самое касается более новой утилиты LGPO.exe v2.2.
Необходимую информацию добавил в статью.
Нужно ли редактировать экспортированный с помощью LGPO.exe файл (менять имена компьютеров например ) или при импорте параметры автоматически подменяться ?
Если у вас в политике нет никаких ссылок на конкретные ip адреса, DNS имена и другие специфические параметры конкретного ПК, то ничего менять не нужно. Вы можете применить политику через lgpo на любом компьютере. Все настройки будут аналогичны донору.
Чтобы выгрузить локальную политику, привязанную к конкретной локальной группе или пользователю, нужно использовать следующий формат использования LocalGPO.wsf.
cscript LocalGPO.wsf /Path:C:\GPObackup /Export /MLGPO:Administrators
Фантазия, однако. Что подтверждается отсутствием скриншота.
Рекомендую почитать литературу о множественных локальных политиках ( aka MLGPO ).
Здравствуйте, помогите пожалуйста перенести MLGPO на другие компьютеры.
Настроил MMC на эталонном пк политику для НЕ администраторов. Проверил все работает. Прочитал вашу статью, скачал LGPO.
Вопрос первый. Как экспортировать именно политику НЕ администраторов.
Вопрос второй. Как импортировать нужную политику на другой компьютер.
Статью читал внимательно, пару дней еще провел в гугле внятного ответа не понял.
К какой группе вы прявязали множественную локальную политику? К users?
Спасибо за столь быстрый ответ. MLGPO привязывал к Не администраторам — группа Non-administrators.
В общем ситуация на данный момент такова:
Я настроил оснастку в MMC.msc для группы НЕ администраторов.
Создал на диске С папку c:\tools\GPO. В tools залил сам исполняемый файл LGPO.exe
С помощью LGPO.exe я выполняю команду
LGPO.exe /b c:\tools\GPO /n Non-Administrators. После чего мне выводится, что все ОК. В папке c:\tools\GPO сформирован бэкап с длинющим названием.
Далее я начинаю парсить значения LGPO.exe /parse /m «C:\tools\GPO\{backup}\DomainSysvol\GPO\User(Machine)\registry.pol»>>C:\tools\GPO\lgpo.txt, что бы удостовериться, что параметры сохранились. В папке с бэкапом есть 2 папки User и Machine. В обеих папках есть registry.pol, я парсил их по очереди. Они оба пустые.
Далее я подумал, может это с группами такая беда. По пробую сделать для конкретного пользователя Probnik, собственно история таже самая. Тоесть изначально когда я создаю бэкап, он мне сохраняет пустые значения. Я бы приложил скриншоты.
Протестировал еще один момент. Изначально я создавал оснастку в MMC.msc (множественная политика) на группу Не администраторов.
При этом все параметры в GPEDIT.msc (групповая политика) остаются не заданными. Я изменил параметры в GPEDIT.msc. Сделал выгрузку, пропарсил в User файл registry.pol в lgop.txt и просмотрел его. В результате те параметры, что я изменял в GPEDIT.msc там отобразились с верными значениями.
Те же самые манипуляции с множественными политиками выдают пустые результаты.
Однозначно у меня ошибка идет в выгрузки данных, тоесть я выгружаю именно локальную групповую политику, а не множественную. Думаю проблема в синтаксисе, но разобраться не могу. Помогите пожалуйста. У меня более 30компов, я замучаюсь это все в ручную клацать.
Ответа не ждать?(
Ребят, ну помогите разобраться
Действительно, LGPO.exe не умеет выгружать настройки множественных групповых политик.
Что нужно сделать, чтобы сформировать каталог с политиками для Non-Administrators для переноса на другие компьютеры:
1. Создайте и настройте MGPO для Non-Administrators
2. Укажите путь к logon-скрипту в политике Windows Settings -> Scripts -> Logon. Это нужно для того, чтобы создался каталог c:\Windows\System32\GroupPolicyUsers\S-1-5-32-545
3. Теперь нужно скопирвать каталог S-1-5-32-545 и перенести его на другие компьютеры в тоже самое место.
Можно подробнее про 2й шаг? Что значит указать путь к логон скрипту?
Настроенная политика у меня есть. Консоль управления сохранена.
2 пункт нужен только для того, чтобы создался каталог %windir%\GroupPolicyUsers\S-1-5-32-5453. Вы через logon скрипт нажмите кнопку browse и создайте в открывшемся каталоге любой тестовый файл. После этого, проверьте, что каталог S-1-5-32-5453 появился.
Всем добра.
Пробовал метод LocalGPO.
На семерках проблем нету, все работает на ура.
Но с десяткой возникли проблемы.
пишет
C:\Windows\system32\LocalGPO.wsf(363, 10) Ошибка выполнения Microsoft VBScript: Файл не найден
Какая версия Windows 10? С какими параметрами запускаете скрипт?
Что в 363 строке скрипта LocalGPO.wsf можете посмотреть?
Спасибо, Коллега!
Вопрос может не по теме, в общем случайно как то удалилась группа — Пользователи удаленного рабочего стола, теперь подключения по РДП не работают. Создали новую группу с таким же именем, после чего можно добавлять людей во вкалдке удаленный доступ,но естественно ничего не работает. И решили импортировать группу — пользователи удаленного рабочего стола с другого компьютера, но чет походу эта штука не наботает так как в текстовом документе ничего такого нет что бы говорило о том, что мы что то экспортировали
; ———————————————————————-
; PARSING Computer POLICY
; Source file: C:\tools\GPO\{B0378452-57B5-4C81-9E22-D3CFC8295701}\DomainSysvol\GPO\Machine\registry.pol
Computer
SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowDefaultCredentials
*
CREATEKEY
Computer
SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowDefCredentialsWhenNTLMOnly
*
CREATEKEY
; PARSING COMPLETED.
; ———————————————————————-
Есть ли возможность перенести дефолтную группу с одного сервера на другой?