• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Перенос групповых политик

~localhost

Green Team
30.10.2017
230
49
BIT
20
Привет. Если много компьютеров, они не в домене, по железу и сборкам windows они отличаются.
Нужно:
1. Сохранить существующую групповую политику. было бы + Возможность сделать отчет по тому что там уже изменено
2. Внести изменения в групповую политику. Что бы не в ручную прописывать много настроек, а как то более универсально скажем для простого пользователя. (Пришел с флешкой запустил файл, пошел дальше)
3.Иметь возможно восстановить все к исходному состоянию.
Может уже существуют программа для это, если встречали подскажите.
Хотел заскриптовать все действия, но первоначальное гугление выдало что такая возможность есть на powershell но там нужно устанавливать дополнительные файлы.
И я правильно понимаю что политик по факту можно через реестр поменять а не через оснастку?

Иду в сторону изменения реестра в помощью Powershell.
1.Создаем бэкап
2.Меняем неооюходимые политика
3. Создаем бекап измененного реестра
4. Делам сравнение что бы убедиться что все отработало верно.
 

Proxy n1nja

Green Team
28.06.2018
118
149
BIT
0
Можно пойти твоим путем, а можно использовать утилиту LGPO.EXE которая входит в набор утилит от .
Для того что бы сделать резервную копию групповой политики нужно будет воспользоваться командой, от имени администратора системы:
Код:
lgpo.exe /b {путь куда сохранить бекап} /n {имя ГП под которым сохранить, может отличаться от имени копируемой политики, если в имени бут пробелы, нужно использовать ковычки}
В каталоге который ты укажешь создастся папка с именем GUID твоих настроек.
Screenshot_1.png

Для того что бы привести забекапленые настройки реестра для ГП в файле резервной копии, из файла registry.pol в удобно для чтения вида, необходимо будет выполнить команду:
Код:
lgpo.exe /parse /m "{путь дл файла с бекапом}\{GUID}\DomainSysvol\GPO\Machine\registry.pol">>{путь куда сохранить файл для анализа}
Screenshot_3.png

Как видишь тут отображаются все настройки реестра, которые применяются данной политикой.
Далее ты можешь внести необходимые изменения в политику, а затем сконвертировать его в файл *.pol командой
Код:
lgpo.exe /r "{путь дл txt файла}" /w "{путь куда сохранить pol файл}.pol"
Для того что бы применить изменненые политики на ЭТОМ же компьютере необходимо воспользоваться командой:
Код:
lgpo.exe /m "{путь до нового pol файла}.pol"
А для того что бы применить политики на ДРУГОМ компьютере требуется воспользоваться вот такой командой:
Код:
lgpo.exe /g {Путь где лежит папка GUID}

Или есть другой вариант, при помощи скриптов. Код писал не я.
Скрипт для бекапа груповой политики:

Visual Basic:
If WScript.Arguments.length =0 Then
         
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "wscript.exe", Chr(34) & WScript.ScriptFullName & Chr(34) & " Run", , "runas", 1

Else
Set oShell = WScript.CreateObject ("WScript.Shell")

oShell.run ("cmd.exe /c xcopy /c /e /h /i /q /y %SystemRoot%\System32\GroupPolicy\Machine %userprofile%\Desktop\Local-Group-Policy-Backup\Machine"),0

oShell.run ("cmd.exe /c xcopy /c /e /h /i /q /y %SystemRoot%\System32\GroupPolicy\User %userprofile%\Desktop\Local-Group-Policy-Backup\User"),0

oShell.run ("cmd.exe /c xcopy /c /e /h /i /q /y %SystemRoot%\System32\GroupPolicyUsers %userprofile%\Desktop\Local-Group-Policy-Backup\GroupPolicyUsers"),0

End If

Он создаст на рабочем столе папку с ГП.
А вот код для того что бы восстановиться из бекапов:

Visual Basic:
If WScript.Arguments.length =0 Then
         
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "wscript.exe", Chr(34) & WScript.ScriptFullName & Chr(34) & " Run", , "runas", 1

Else
Set oShell = WScript.CreateObject ("WScript.Shell")

oShell.run ("cmd.exe /c RD /S /Q %SystemRoot%\System32\GroupPolicy\Machine"),0

oShell.run ("cmd.exe /c RD /S /Q %SystemRoot%\System32\GroupPolicy\User"),0

oShell.run ("cmd.exe /c xcopy /c /e /h /i /q /y %userprofile%\Desktop\Local-Group-Policy-Backup\Machine %SystemRoot%\System32\GroupPolicy\Machine"),0

oShell.run ("cmd.exe /c xcopy /c /e /h /i /q /y %userprofile%\Desktop\Local-Group-Policy-Backup\User %SystemRoot%\System32\GroupPolicy\User"),0

oShell.run ("cmd.exe /c xcopy /c /e /h /i /q /y %userprofile%\Desktop\Local-Group-Policy-Backup\GroupPolicyUsers %SystemRoot%\System32\GroupPolicyUsers"),0

WScript.Sleep 2000

oShell.run "cmd.exe /k gpupdate /force"

End If
Обрати внимание на пути в какие первый скрипт сохраняет, и из каких второй восстанавливает.
Собственно переписать этот скрипт под батник думаю большого труда не составит.
 
Последнее редактирование:

Proxy n1nja

Green Team
28.06.2018
118
149
BIT
0
Бьюсь сэтой утилитой LGPO не могу перевести в txt.
Посмотреть вложение 42824
Консоль от имени администратора запущена ?
Провал ли складывать бекапы в директорию не имеющих кириллических символов ?
Бекапиться без ошибок ? Сам бекап потом применить можешь ? ВБС скрипты пробовал ? Ну и для полноты понимания происходящего, какие там политики пременены ? Какая это ос конкретно ? И не пробовал ли запускать не через пош а именно цмд ?
 

~localhost

Green Team
30.10.2017
230
49
BIT
20
Консоль от имени администратора запущена ?
Провал ли складывать бекапы в директорию не имеющих кириллических символов ?
Бекапиться без ошибок ? Сам бекап потом применить можешь ? ВБС скрипты пробовал ? Ну и для полноты понимания происходящего, какие там политики пременены ? Какая это ос конкретно ? И не пробовал ли запускать не через пош а именно цмд ?
Запускаю от админа в CMD
Кириллицу исключал.
1596292040771.png

1596292170421.png

Изменил политику на блокировку учетной записи
1596292203569.png
 

Proxy n1nja

Green Team
28.06.2018
118
149
BIT
0
Запускаю от админа в CMD
Кириллицу исключал.
Посмотреть вложение 42825
Посмотреть вложение 42826
Изменил политику на блокировку учетной записи
Посмотреть вложение 42827
Так господи, придется немного тебе объяснить.
Видимо в первом посте описал немного сумбурно и не полностью. В *.pol содержится все настройки реестра, которые применяются данной политикой. В файле \DomainSysvol\GPO\Machine\microsoft\windows nt\SecEdit\GptTmpl.inf шаблон твоих настроек (и то что ты на скрине посмотреть пытался)
В файле \DomainSysvol\GPO\Machine\microsoft\windows nt\Audit\audit.csv все настройки в виде таблицы вида:
Имя компьютерацель политикиподкатегорияGUID подкатегориипараметр включенияпараметр исключениязначение параметра

Судя по всему у тебя нормально там все забекапилось.
Ищи свои настройки в GptTmpl.inf
Ну и иногда включай "любопытство" и немного логики, не в обиду :)
 

~localhost

Green Team
30.10.2017
230
49
BIT
20
Так господи, придется немного тебе объяснить.
Видимо в первом посте описал немного сумбурно и не полностью. В *.pol содержится все настройки реестра, которые применяются данной политикой. В файле \DomainSysvol\GPO\Machine\microsoft\windows nt\SecEdit\GptTmpl.inf шаблон твоих настроек (и то что ты на скрине посмотреть пытался)
В файле \DomainSysvol\GPO\Machine\microsoft\windows nt\Audit\audit.csv все настройки в виде таблицы вида:
Имя компьютерацель политикиподкатегорияGUID подкатегориипараметр включенияпараметр исключениязначение параметра

Судя по всему у тебя нормально там все забекапилось.
Ищи свои настройки в GptTmpl.inf
Ну и иногда включай "любопытство" и немного логики, не в обиду :)
Это я понял.
" содержится все настройки реестра, которые применяются данной политикой " - то есть есть политики которые не меняют не чего в реестре? и соотвественно у меня него в txt и не залетело?
 

Proxy n1nja

Green Team
28.06.2018
118
149
BIT
0
Это я понял.
" содержится все настройки реестра, которые применяются данной политикой " - то есть есть политики которые не меняют не чего в реестре? и соотвественно у меня него в txt и не залетело?
Верно.
 

Proxy n1nja

Green Team
28.06.2018
118
149
BIT
0
Ок Спасибо.
Тогда мой вариант делать бэкап, менять строки в файле .ini. и назад грузить его с помощью ключа /s.
Да. Вот смотри, я делаю бекап с вот такой конфигурацией политикой блокировки учетных записей пользователей:
Screenshot_4.png

Далее редактирую GptTmpl.INF файл например таким образом:
Screenshot_5.png

Далее разворачиваем эти настройки из редактированого файла командой:
Bash:
lgpo.exe /G {путь до нашей папки с GUID именем}
Screenshot_6.png

И получаем вот такой результат:
Screenshot_7.png

Как видишь все отработало как и было задумано.
Осталися ли твой вопрос не решенным ?
 

~localhost

Green Team
30.10.2017
230
49
BIT
20
Да. Вот смотри, я делаю бекап с вот такой конфигурацией политикой блокировки учетных записей пользователей:
Посмотреть вложение 42829
Далее редактирую GptTmpl.INF файл например таким образом:
Посмотреть вложение 42833
Далее разворачиваем эти настройки из редактированого файла командой:
Bash:
lgpo.exe /G {путь до нашей папки с GUID именем}
Посмотреть вложение 42831
И получаем вот такой результат:
Посмотреть вложение 42832
Как видишь все отработало как и было задумано.
Осталися ли твой вопрос не решенным ?
С прогой этой то да. ищу список всех строк которые можно написать в данный файл ini ))
 

~localhost

Green Team
30.10.2017
230
49
BIT
20
В каком смысле список всех строк ? В самом .INF файле разве не и так, "список всех строк" ?
Там список политик которые на данном компе установлены. Если сделать изменения и выгрузить еще раз появиться дополнительная строка.
 

Proxy n1nja

Green Team
28.06.2018
118
149
BIT
0
Там список политик которые на данном компе установлены. Если сделать изменения и выгрузить еще раз появиться дополнительная строка.
Может быть, не занимался тем что бы сравнивать разные выгруженные политики ибо это не имеет смысла. Но как вариант, если тебе зачем-то и очень уж нужно, можешь поастраивать все что можно и для себя потом все это задокументировать. А так, описание структуры этого файла не встречал, по крайней мере microsoft это не документировал.
Закрывай топик, надоел уже :D проблему с переносом и изменением решили же. :D
 

~localhost

Green Team
30.10.2017
230
49
BIT
20
Может быть, не занимался тем что бы сравнивать разные выгруженные политики ибо это не имеет смысла. Но как вариант, если тебе зачем-то и очень уж нужно, можешь поастраивать все что можно и для себя потом все это задокументировать. А так, описание структуры этого файла не встречал, по крайней мере microsoft это не документировал.
Закрывай топик, надоел уже :D проблему с переносом и изменением решили же. :D
я так и сделал. Просто думаю если найду список, сделаю универсальное решение.
Все Спс.))))
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!