Андрей Смирнов
Время чтения: ~16 мин.
Просмотров: 11

Погружение в шаблоны и приручение GPO Windows

hcumstxyqohfl1zavw6txkg6tns.jpeg

Я не буду рассказывать, что такое групповые политики, и остановлюсь лишь на основных моментах, которые стоит иметь в виду при работе с ними.

В системах Windows помимо доменных существуют и локальные групповые политики ― управлять ими можно при помощи оснастки gpedit.msc на системах редакции Professional и выше. Часто считается, что без домена можно настраивать локальные групповые политики только для всех пользователей на компьютере. Это не совсем верно ― с выходом Windows Vista появилась возможность использовать множественную локальную групповую политику или MLGPO. Этот механизм позволяет настраивать отдельные политики для разных пользователей.

Добраться до него можно через вызов консоли mmc: при добавлении оснастки «Управление объектами групповой политики» нажать кнопку «Обзор». Далее на вкладке «Пользователи» уже можно выбрать конкретного пользователя или группу «Администраторы» и «Не администраторы». К сожалению, управление для группы пользователей не реализовано.

wyggiiokcpv3qxpqy0yiwnwv1lk.jpegУправление групповой политикой для отдельных пользователей.

Бывало и так, что на отдельностоящем терминальном сервере разворачивали Active Directory только для того, чтобы отдельному пользователю настроить поведение драйвера для EasyPrint. Не надо так.

При добавлении доменных групповых политик стоит помнить про порядок их применения ― политика, примененная последней, будет обладать наивысшим приоритетом (да и на собеседованиях часто спрашивают).

Итак, предположим, что у нас есть компьютер в домене и четыре групповые политики: локальная на этом компьютере; политика на подразделение, в котором находится компьютер; политика на домен и политика на лес. Порядок их применения будет следующим:

  1. Локальная групповая политика.
  2. Групповая политика сайта.
  3. Групповая политика домена.
  4. Групповая политика верхнего подразделения.
  5. Групповая политика дочернего подразделения.

То есть чем ближе к объекту, тем приоритетнее, за исключением локальной групповой политики. Если надо отключить применение вышестоящих политик, то ставьте блокировку наследования.

egkvwfroern2arrfmrirdictu2k.jpegБлокировка наследования.

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

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

Работа замыкания настраивается непосредственно в политике ― «Настройка компьютера ― Административные шаблоны ― Система ― Режим обработки замыкания пользовательской групповой политики». Подробнее про механизм уже писали в статье про использование MergeReplace в GPO. Я лишь добавлю, что режим замыкания групповой политики ― тоже частый вопрос на собеседовании.

mocwljnlu7ma2km8jdvnubki0tk.jpegНастройка замыкания групповой политики.

Физически доменные групповые политики находятся в папке SYSVOL на контроллерах домена. Папка реплицируется между контроллерами. Каждая групповая политика выглядит как папка с именем в виде GUID.

7ullnylhoixdoyvt4qrracyuo3y.jpegГрупповые политики домена.

Правила фильтрации, настраиваемые через редактор групповой политики, соответствуют настройкам прав NTFS на соответствующую подпапку.

Говоря о правилах фильтрации, нельзя не упомянуть обновление MS16-072, которое «сломало» групповые политики. Теперь для того чтобы работали правила фильтрации, надо добавлять к каждому фильтру правило «на чтение», но не «на применение» группе Domain Computers.

В каждой папке с групповой политикой существуют подпапки Machine и User, соответствующие настройкам пользователя и компьютера. Если углубиться в подпапки, можно легко понять структуру групповой политики:

  • В корне папки находится файл GPT.ini с настройками групповой политики, такими как ее название.
  • В подпапках Machine и User сидят файлы registry.pol с настройками соответствующих веток реестра.
  • По пути MicrosoftWindows NTSecEdit можно найти шаблон настроек безопасности ― GptTmpl.inf.
  • В подпапке Preferences находятся предпочтения групповых политик, представляющие из себя подпапки с файлами xml.
  • В подпапке Applications сидят дистрибутивы для развертывания через групповые политики.
  • В папке Scripts находятся скрипты на logonlogoff для пользователя и startupshutdown для компьютера.
  • В папке Documents and Settings есть настройки перенаправления пользовательских папок.
  • Наконец, в папке Adm находятся устаревшие шаблоны групповой политики.

Подробнее про структуру можно почитать в материале Group Policy Basics, поэтому перейдем сразу к шаблонам.

По сути своей административные шаблоны ― это специальные файлы с инструкциями по изменению клиентского реестра (ветки HKCU или HKLM) и настройками отображения изменяемых параметров через «Управление групповой политикой». В принципе, реестр можно менять и через «Предпочтения групповых политик». Но разница здесь не только в красивом интерфейсе.

Способ изменения реестра Как ведет себя при удалении политики со стандартными настройками Можно ли изменить параметр вручную Можно ли изменить параметр через приложение
Шаблоны Параметр реестра восстанавливается на значение «по умолчанию», если настройки по умолчанию есть в шаблоне
Предпочтения политик Параметр реестра не изменяется + +

Сравнение предпочтения групповых политик и административных шаблонов.

Другими словами, настройка реестра через шаблоны групповых политик более строгая. Тогда как настройка через предпочтения групповых политик напоминает периодическое применение reg-файла. Конечно, предпочтения позволяют не только менять параметры реестра, но и довольно гибко настраиваются. Тем и ценны.

Это актуально при изменении ветки Policies, и настраиваемое приложение должно хранить свои настройки в реестре. Простое изменение параметров через Предпочтения и Шаблоны будет работать схожим образом, только шаблоны могут оказаться удобнее.

До появления Windows Vista2008 в качестве шаблона групповых политик брали исключительно стандарт .adm. Будучи с простой структурой, которую было легко редактировать вручную, этот стандарт обладал и рядом недостатков:

  • Для каждого языка приходилось создавать отдельный файл шаблона.
  • Файл шаблона физически находился в папке с групповой политикой. При использовании одного и того же шаблона он сохранялся в каждую папку, что увеличивало занимаемое место и время репликации.
  • Не поддерживались мультистроковые параметры и параметры QWORD.

На замену устаревшему стандарту появился новый. Новые шаблоны представляют собой два файла: сам шаблон, не зависимый от языка ― .admx и языковой «пакет» к нему ― файл .adml. Теперь шаблоны можно «положить» в центральное хранилище, и обращаться к нему, не плодя одинаковые файлы в папке SYSVOL.

Не обошлось без ложки дегтя ― теперь содержимое файла представляет собой популярный в индустрии формат XML. И создавать новые шаблоны в блокноте стало уже не так удобно.

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

  • MS Office 2016.
  • FireFox и Thunderbird.
  • Google Chrome.
  • Adobe Acrobat и Reader.
  • Каталог шаблонов для различного ПО.

Если возникает необходимость разработать и внедрить свой административный шаблон, то самый простой вариант ― это создать старый файл .adm и сконвертировать его в admx специальной утилитой. Вариант посложнее ― начинать сразу с .admx.

Для начала разберем простой пример. Создадим шаблон групповой политики, который позволит нам включать и выключать отображение скрытых и системных файлов, а заодно и отображение расширений.

Сразу скажу, что это можно провернуть через «Предпочтения групповых политик» ― в параметрах панели управления ― опции папки. Но мы легких путей не ищем и заодно не хотим, чтобы параметры отображения можно было менять вручную.

За необходимые нам параметры отвечают три ключа в реестре:

  • SoftwareMicrosoftWindowsCurrentVersionExplorerAdvancedHidden.
  • SoftwareMicrosoftWindowsCurrentVersionExplorerAdvancedHideFileExt.
  • SoftwareMicrosoftWindowsCurrentVersionExplorerAdvancedShowSuperHidden.

Содержимое ADM-шаблона, который разберем далее, под спойлером.

CLASS USER CATEGORY !!ShowExplorer     POLICY !!ShowHiddenFiles         KEYNAME "SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced"         EXPLAIN !!ShowHiddenFilesExplanation         VALUENAME "Hidden"         VALUEON NUMERIC "1"         VALUEOFF NUMERIC "2"     END POLICY      POLICY !!ShowFileExtensions         KEYNAME "SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced"         EXPLAIN !!ShowFileExtensionsExplanation         VALUENAME "HideFileExt"         VALUEON NUMERIC "0"         VALUEOFF NUMERIC "1"     END POLICY      POLICY !!ShowSuperHiddenFiles         KEYNAME "SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced"         EXPLAIN !!ShowSuperHiddenFilesExplanation         VALUENAME "ShowSuperHidden"         VALUEON NUMERIC "1"         VALUEOFF NUMERIC "0"     END POLICY END CATEGORY  [strings] ShowExplorer="Отображение файлов в проводнике" ShowHiddenFiles="Показывать скрытые файлы" ShowHiddenFilesExplanation="Когда эта настройка включена, проводник будет показывать скрытые файлы." ShowSuperHiddenFiles="Показывать системные файлы" ShowSuperHiddenFilesExplanation="Когда эта настройка включена, проводник будет показывать системные файлы" ShowFileExtensions="Показывать расширения файлов" ShowFileExtensionsExplanation="Когда эта настройка включена, проводник будет показывать расширения файлов"

Разберем подробнее синтаксис файла.

  • CLASS. Может принимать значение USER или MACHINE ― в зависимости от класса будет изменятся ветка реестра HKCU или HKLM соответственно.
  • CATEGORY. Строка, в которой задается имя «папки» политики.
  • POLICY. В строке задается название конкретной политики ― у нас таких будет три.
  • KEYNAME. Путь в реестре к изменяемым параметрам.
  • EXPLAIN. Отсылка к «переменной» с объяснением настройки.
  • VALUENAME. Название изменяемого параметра в реестре.
  • VALUEON**VALUEOFF**. Значение, которое будет принимать параметр при включении и выключении его в политике.
  • [strings]. Секция со значениями переменных, которые я использовал для текстовых строк. Можно их не использовать, но тогда могут быть проблемы из-за русского языка.

Помимо задействованных опций есть и другие, например:

  • EDITTEXT. Текстовое поле для ввода.
  • NUMERIC. Поле для ввода цифр.
  • CHECKBOX. Список, где можно отмечать параметры «галочками».
  • COMBOBOX. Список с «переключателем»
  • DROPDOWNLIST. Выпадающий список.
  • LISTBOX. Список для ввода нескольких элементов.

Подробнее со всеми параметрами можно ознакомится в разделе MSDN ADM Format.

Установить новый шаблон не просто, а очень просто ― достаточно щелкнуть правой кнопкой мыши по пункту «Административные шаблоны», выбрать «Добавление и удаление шаблонов» и добавить наш свежесозданный шаблон.

acmoqk2eorm9eqaynudmwjht90u.jpegДобавленный шаблон.

После установки шаблона он отобразится в ветке «Классические административные шаблоны».

wssb2l8ohpmrdkiwo2h4ok7yag8.jpeg

Теперь можно сконвертировать наш шаблон в .admx с помощью утилиты faAdmxConv из ADMX Migrator.

cr3y3uqauco1dzgffgk9qxkqcqo.jpegКонвертируем шаблон.

После конвертации получившийся шаблон .admx и папку Ru-ru с файлом локализации .adml нужно скопировать в папку %Systemroot%PolicyDefinitions для локальной политики или в папку SysvolPolicyDefinitions на контроллере домена.

10aqygl6gsxccj6993hpvp26rrk.jpegУстановленный шаблон .admx.

Полный листинг получившегося шаблона и файла локализации под спойлером.

Шаблон:

<?xml version="1.0" encoding="utf-8" <policydefinitions><policynamespaces><using> icyNamespaces>      <resources>   <>     <definitions><definition><categories><category></categories><policiesicy><enabledvalue><decimal></enabledvalue><disabledv>  y>                     <enabledvalue><decimal></enabledvalue><disabledv>  y>                     <enabledvalue><decimal></enabledvalue><disabledv>  es> </disabledv></disabledv></disabledv></policiesicy></definition></definitions></resources></using></policynamespaces></policydefinitions>

Файл локализации:

<?xml version="1.0" encoding="utf-8" <policydefinitionresources><resources><stringtable><string>Отображение файлов в проводнике</string><string>Показывать скрытые файлы</string><string>Когда эта настройка включена, проводник будет показывать скрытые файлы.</string><string>Показывать системные файлы</string><string>Когда эта настройка включена, проводник будет показывать системные файлы</string><string>Показывать расширения файлов</string><string>Когда эта настройка включена, проводник будет показывать расширения файлов</string><string>ADMX Migrator encountered a string that is not present in the source ADM string table.</string><string>ADMX Migrator encountered a policy that does not have a supportedOn value.</string></stringtable><presentationtable></resources></policydefinitionresources>

Действительно, xml в новом формате читается чуть хуже, чем старый .adm. Для облегчения работы с новым форматом в поставке ADMX Migrator есть утилита faAdmxEditor.msc. Помимо этой утилиты есть и скрипты для конвертации reg-файлов в шаблоны, и сторонние платные утилиты.

Конечно же, можно обойтись без вот-этого-всего и разобраться самостоятельно ― оставлю это в качестве домашнего задания. Благо на портале MSDN есть подробное описание XML-схемы, и есть неплохие материалы с примерами в сети. Например, «Административные шаблоны групповой политики».

Теперь перейдем к автоматизации.

Работать с групповыми политиками из командной строки довольно тоскливо. Основных инструментов можно выделить три.

PowerShell. Есть набор командлетов для резервного копирования, восстановления и управления групповыми политиками. Создание новых политик ограничено ― можно лишь изменять реестр. Впрочем, в большинстве случаев и этого достаточно. В качестве примера создадим групповую политику, которая отключит автоматическое обновление Adobe Reader DC.

За отключение автоматического обновления отвечает ключ реестра bUpdater в ветке [HKEY_LOCAL_MACHINESOFTWAREPoliciesAdobeAcrobat ReaderDCFeatureLockDown]. Установив параметр в 0, мы отключим опцию.

Создание групповой политики на PowerShell будет выглядеть так:

Import-module -Name GroupPolicy Write-Host "Создаем новый объект политики с именем Adobe_Reader_disable_autoupdate" New-GPO -Name Adobe_Reader_disable_autoupdate Write-Host "Добавляем нужное нам значение реестра" Set-GPRegistryValue -Name "Adobe_Reader_disable_autoupdate" -key "HKLMSOFTWAREPoliciesAdobeAcrobat ReaderDCFeatureLockDown" -ValueName  bUpdater -TypeDWord -value 0 Write-Host "Прилинковываем новый объект к нужному OU" Set-GPLink -Name Adobe_Reader_disable_autoupdate -Target "ou=Computers,dc=domain,dc=com" -LinkEnabled Yes

nnsw7cgeldvq-mt-tdp8ugxcfsi.jpeg

Свежесозданная групповая политика.

Полный список и описание командлетов доступны в материале Technet Group Policy Cmdlets in Windows PowerShell.

Интерфейс COM к GPMC (консоли управления групповой политикой). Способ позволяет сделать с политиками многое, на любом языке программирования, поддерживающим COM-интерфейсы. К сожалению, популярность он не приобрел и примеров в сети довольно мало, несмотря на богатое описание методов интерфейса на портале MSDN. Немногочисленные примеры использования доступны для загрузки в галерее Technet.

LGPO.exe. Не так давно Microsoft заменил набор утилит для работы с локальными групповыми политиками на единую утилиту. Скачать ее можно на официальном сайте. Утилита удобна для копирования и развертывания локальных групповых политик. Заявлена и поддержка MLGPO. Создавать свои политики тоже можно. Также программа удобна для создания и изменения файлов реестра registry.pol. Для примера изменим локальную групповую политику, добавив в нее отключение обновления несчастного Acrobat Reader DC.

Сделаем бэкап локальной групповой политики командой

lgpo.exe /b C:Temp /n "Backup"

В папке C:Temp появится подпапка с GUID по структуре схожая с доменными групповыми политиками:

Теперь развернем registry.pol в текстовый файл:

LGPO.exe /parse /m C:temp{GUID}DomainSysvolGPOMachineregistry.pol >> reg.txt

Синтаксис текстового файла очевиден. Добавим в него значения реестра для отключения автоматического обновления «Акробата»:

ybskjvynfgmovylsj7ihmnlh8ge.pngДобавленный в файл параметр реестра.

Теперь останется завернуть наш reg.txt обратно в registry.pol и импортировать изменившийся файл обратно в локальную групповую политику:

LGPO.exe /r C:Tempreg.txt /w C:Tempregistry.pol LGPO.exe /m C:Tempregistry.pol​

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

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

Краткое описание: В данном руководстве рассматриваются базовые настройки групповых политик GPOWindows Server 2016.

Нужна консультация или помощь в решении IT вопроса?

Поддержи автора статьи, просмотри рекламу ↓↓↓

Групповые политики Windows тот инструмент, через который распространяются корпоративные сценарии:

  • Применение правил безопасности(поведение в сети, доступ к компьютеру);
  • Подключение принтеров, сетевых дисков;
  • Управление службами;
  • Настройки электропитания;
  • Любые сценарии по установки и исполнению программ;

и всего остального, до чего можно добраться мышкой в пользовательской ОС(вплоть до заставки рабочего стола).

Обзорная статья по установке Windows Server 2016

Управление GPO(Group Policy Object) происходит через консоль, с соответствующим названием

Поддержи автора статьи, просмотри рекламу ↓↓↓

Создание новой GPO

Изменение GPO

Поддержи автора статьи, просмотри рекламу ↓↓↓

Дерево по созданию правил делится на два больших раздела:

  • Конфигурация компьютера — правила применимы ко всему компьютеру, вступают в силу при загрузке компьютера;
  • Конфигурация пользователя — к соответствующему пользователю, вступают в силу при входе пользователя в систему.

Правила запуска службы обновления Windows

Изменения вступят в силу после перезагрузки доменного компьютера, который находится в контейнере(папке) ниже, чем GPO.

Поддержи автора статьи, просмотри рекламу ↓↓↓

Если у вас есть профессиональный интерес в расширении данной статьи — заполните форму запроса.

ИнструкцииИТИТ-поддержка

Групповые политики являются одним из самых эффективных способов управления компьютерной сетью, построенной на базе Windows-сетей. Групповые политики используют для упрощения администрирования, предоставляя администраторам централизованное управление привилегиями, правами и возможностями как пользователей, так и компьютеров сети.

При помощи политики возможно:

  • назначать сценарии пользователя и сценарии компьютера, запускающиеся в конкретно указанное время;
  • определять политики параметров пароля учетных записей, блокировку пользователей;
  • распространять программное обеспечение на компьютеры сети при помощи публикации или назначения;
  • выполнять набор настроек безопасности для удаленных машин;
  • ввести контроль над доступом к windows-компонентам, системным ресурсам, сетевым ресурсам, утилитам панели управления, рабочему столу и экрану;
  • проводить настройку по распределению прав на доступ к файлам и папкам;
  • настраивать перенаправление определенных папок из профиля пользователя.

Групповые политики возможно применять сразу на нескольких доменах, на отдельных доменах, на подгруппах в домене, на отдельных системах.

Политики, применяемые к отдельным системам, называются локальными групповыми политиками. Такие политики хранятся только на локальном компьютере. Остальные групповые политики соединены в объекты и хранятся в хранилище данных Active Directory.

Управление групповых политик имеется только в профессиональных и серверных версиях Windows.

Для каждой новой версии Windows вносились новые изменения в групповую политику. В некоторых случаях старые политики не применяются на новые версии Windows.

Обычно большинство политик прямо совместимы. Это означает, что, как правило, политики, предоставленные в Windows Server 2003, могут использоваться на Windows 7 и более поздних, а также на Windows Server 2008 и более поздних. Однако, политики для Windows 8/10 и Windows Server 2012/2016 обычно не применимы к более ранним версиям Windows. Для того, чтобы узнать какие версии поддерживает политика, можно открыть окно ее свойств – там посмотреть на поле Требование к версии или поддерживается. В нем указаны версии ОС, на которых эта политика будет работать:

image3.png

Редактирование групповых политик

Консоль редактирования групповой политики входит в состав сервера, ее требуется установить в диспетчере сервера как дополнительный компонент управления групповыми политиками:

image5.png

После этого в составе программ меню Администрирование появляется задача Управление групповыми политиками.

В оснастке Управление групповой политикой назначаются политики к подразделениям, а благодаря иерархической структуре можно визуально понять к какой группе относятся какая-либо политика:

image4.png

Групповая политика изменяется в редакторе управления групповыми политиками – для этого требуется выбрать команду Изменить в меню Действия. Так же новую групповую политику можно создать либо «с нуля», для этого выбираем Объекты групповой политики выбираем команду Создать в меню Действие. Записываем новое имя объекта групповой политики после этого нажимаем ОК. Можно скопировать в нее параметры уже существующей политики в зависимости от требуемой задачи.

Чтобы применить созданную политику, требуется установить для нее связь с соответствующим объектом службы каталогов в оснастке Управление групповой политикой:

image2.png

Примененную политику можно настроить по фильтру безопасности. Таким способом параметры данного объекта групповой политики возможно разделить только для заданных групп, пользователей и компьютеров, входящих в домен:

image1.png

Рекомендации по применению политик

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

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

Не стоит удалять ранее созданные групповые политики – желательно просто отключить привязку их от объекта службы каталогов. Они могут потребоваться в дальнейшем для анализа в случае каких-либо проблем.

В рамках нашей услуги ИТ-обслуживание мы не только настраиваем групповые политики, но и берем на себя обслуживание всей ИТ-структуры клиента, включая все настройки, обновления ПО и поддержку в режиме 24/7.

Комментарии для сайта Cackle—> —> Комментарии для сайта Cackle—>Используемые источники:

  • https://habr.com/post/351152/
  • https://topnet.com.ua/gruppovye-politiki-gpo-windows-server/
  • https://efsol.ru/manuals/group-ws2016.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации