Погодин Евгений — ИТ Заметки
🖥️Windows Server Обновлено 04.11.2026

Windows Server с нуля 06. Групповые политики (GPO): основы и типовые настройки

Note

Материал сверен с официальной документацией (Microsoft Learn и др.; ссылки — в конце статьи). Примеры вывода — иллюстрации: на вашем сервере значения и формат могут отличаться. Перед работой на боевом сервере проверьте шаги на тестовой машине.

На одном компьютере с клиентской Windows настройки можно менять вручную или через редактор локальной групповой политики (gpedit.msc). Когда в сети десятки компьютеров, ходить по ним нереально. Групповая политика (Group Policy) решает задачу: вы один раз описываете настройку, привязываете её к подразделению (OU) домена, и все компьютеры и пользователи оттуда получают её автоматически. В этой статье вы:

  • поймёте, что такое объект групповой политики (GPO) и в каком порядке политики применяются;
  • освоите консоль управления GPMC и командлеты модуля GroupPolicy;
  • настроите на пилотной группе сетевой диск и запрет записи на съёмные накопители;
  • научитесь проверять результат командами gpupdate и gpresult и искать причину, если настройка не применилась.
Вопрос Локальная политика Доменная GPO
Редактор gpedit.msc консоль GPMC (gpmc.msc)
На кого действует на один компьютер на сайт, домен или OU целиком
Где хранится на этом компьютере в каталоге и в папке SYSVOL контроллеров
Проверка gpresult gpresult и отчёты GPMC

Что нужно знать заранее

  • Windows Server с нуля 03: контроллер DC1, вход под admin-lab.
  • Windows Server с нуля 04: клиент находит контроллер через DNS, и без правильного DNS политики не придут.
  • Windows Server с нуля 05: OU Staff, Workstations, пользователи ivanov, petrova, группы GG-Accounting, GG-Staff.
  • Среда статьи: клиент PC1 (Windows 11 Pro в домене), файловый сервер FS1. Команды PowerShell рассчитаны на Windows PowerShell 5.1 (см. Windows Server с нуля 02).

Что такое GPO и где он хранится

GPO (Group Policy Object, объект групповой политики) — набор настроек вместе с правами доступа к нему. Он состоит из двух частей. Контейнер (Group Policy Container) хранится в каталоге Active Directory, шаблон (Group Policy Template) — в общей папке SYSVOL на каждом контроллере домена. Каждая часть реплицируется своим механизмом: каталог — репликацией AD, SYSVOL — службой DFSR (Distributed File System Replication). Поэтому после правки политика появляется на всех контроллерах не мгновенно, и при диагностике это учитывают.

Настройки делятся на две ветки. Конфигурация компьютера применяется при запуске компьютера, конфигурация пользователя — при входе. Внутри GPO встречаются два вида настроек. Политики (policies) пользователь изменить не может. Предпочтения (preferences, раздел Preferences) разворачивают значение на клиенте, но не запрещают его менять: правка пользователя сохранится лишь до следующего обновления политики, после чего значение вернётся. Предпочтения работают только в доменных GPO.

GPO сам по себе ничего не делает, пока не привязан (linked) к сайту, домену или OU. Один объект можно привязать к нескольким контейнерам. Удаление привязки оставляет GPO на месте, а удаление GPO стирает политику и её данные из каталога и SYSVOL; не путайте эти действия.

В каком порядке применяются политики

Политики применяются в порядке LSDOU: сначала локальная (Local), затем привязанные к сайту (Site), домену (Domain) и подразделениям (OU). В цепочке вложенных OU сначала действуют политики родительского подразделения, потом дочернего. Каждая следующая политика может перекрыть предыдущую, то есть побеждает ближайшая к объекту. Если конфликтуют настройки компьютера и пользователя, побеждает настройка компьютера.

К одному контейнеру привязывают несколько GPO. Тогда решает порядок ссылок (link order): у ссылки с наименьшим номером приоритет выше.

Два флага меняют правило:

  • Enforced (в русской документации — «принудительный») — свойство ссылки: политика не перекрывается нижестоящими и не отключается блокировкой наследования.
  • Block Inheritance («Блокировать наследование») — свойство домена или OU: настройки политик более высоких уровней в него не попадают, кроме принудительных.

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

Кроме положения в дереве, на применение влияют два фильтра. Фильтрация по безопасности (security filtering) задаётся правами на GPO: по умолчанию группа Authenticated Users («Прошедшие проверку пользователи») имеет права Read и Apply group policy, поэтому политика действует на всех в области. Чтобы ограничить политику группой, у Authenticated Users убирают право Apply group policy, а нужной группе выдают Read и Apply group policy (о праве Read для Authenticated Users см. ловушки в конце). WMI-фильтр — запрос WMI (Windows Management Instrumentation), который выполняется на клиенте; на одну GPO ссылается один фильтр, и политика применяется, если запрос вернул истину.

Политики обновляются не только при загрузке и входе: клиенты проверяют изменения каждые 90 минут плюс случайная задержка до 30 минут, контроллеры домена — каждые 5 минут. Некоторые расширения обрабатываются только при входе или запуске компьютера (например, перенаправление папок и установка программ). Чтобы настройки пользователя зависели от компьютера (киоск, учебный класс), включают режим обработки loopback: политика Configure user Group Policy loopback processing mode.

Инструменты: GPMC и PowerShell

Консоль управления групповыми политиками (Group Policy Management Console, GPMC, gpmc.msc) входит в Windows Server и RSAT (Remote Server Administration Tools, средства удалённого администрирования сервера). Если её нет в меню «Средства» Диспетчера серверов, добавьте компонент Group Policy Management через мастер добавления ролей и компонентов.

В дереве консоли вы увидите домен lab.example с привязанными GPO, узел «Объекты групповой политики» (Group Policy Objects) со всеми политиками, а также «Моделирование групповой политики» и «Результаты групповой политики». Настройки правят в «Редакторе управления групповыми политиками» (Group Policy Management Editor): правый щелчок по GPO → «Изменить». В домене уже есть две политики по умолчанию: Default Domain Policy (действует на весь домен) и Default Domain Controllers Policy (для контроллеров домена).

Модуль PowerShell GroupPolicy дополняет консоль:

Командлет Что делает
New-GPO, Get-GPO создать политику (не привязанную) и просмотреть список
New-GPLink, Remove-GPLink привязать политику к контейнеру и убрать привязку
Get-GPInheritance какие политики применяются к OU
Backup-GPO, Restore-GPO, Import-GPO резервная копия, восстановление, перенос настроек
Invoke-GPUpdate запустить обновление политики на компьютере, в том числе удалённом
Get-GPResultantSetOfPolicy отчёт о результирующем наборе политик

Скриптами удобно создавать и привязывать GPO, а значения отдельных настроек в этой статье мы правим в редакторе.

Центральное хранилище административных шаблонов

Список доступных политик задают шаблоны — файлы .admx (язык настроек) и .adml (подписи на языке интерфейса). Без общего хранилища каждый администратор видит шаблоны своего компьютера, и результат зависит от версии Windows. Центральное хранилище (Central Store) — папка PolicyDefinitions в SYSVOL: инструменты политик проверяют её по умолчанию, берут оттуда все .admx, а контроллеры реплицируют её между собой.

Создайте хранилище один раз с PC1 (Windows 11 с обновлениями) под admin-lab:

$dom  = 'lab.example'
$dest = "\\$dom\SYSVOL\$dom\Policies\PolicyDefinitions"
if (-not (Test-Path $dest)) {
    New-Item -ItemType Directory -Path $dest | Out-Null
    Copy-Item -Path C:\Windows\PolicyDefinitions\* -Destination $dest `
        -Recurse
}
(Get-ChildItem -Path $dest -Filter *.admx).Count

Если папка уже существует, не перезаписывайте её: создайте рядом PolicyDefinitions-<версия>, скопируйте туда новый набор, затем переименуйте старую папку в архивное имя, а новую — в рабочее. Так можно откатиться при сбое. Заменять файлы в C:\Windows\PolicyDefinitions не поддерживается: пакеты шаблонов с сайта Microsoft предназначены только для Central Store. Обновлять хранилище нужно вручную, когда в сети появляются новые версии Windows.

Практика: подготовка

Команды этого раздела и дальнейших выполняйте на DC1 (каталог C:\Backup\GPO — локальный на нём); Central Store выше создавали с PC1. Перед правкой политик всегда делайте копию. Каталог для копий и порядок их хранения описаны в Windows Server с нуля 11: копию, лежащую только на контроллере, перенесите на другой сервер.

New-Item -ItemType Directory -Force -Path C:\Backup\GPO | Out-Null
Backup-GPO -All -Path C:\Backup\GPO -Comment 'before GPO practice'

Новую политику сначала проверяют на пилотной группе. Создайте подразделение Pilot внутри Staff и переместите туда petrova:

$base  = (Get-ADDomain).DistinguishedName
$staff = "OU=Staff,$base"
$pilot = "OU=Pilot,$staff"
if (-not (Get-ADOrganizationalUnit -Filter "Name -eq 'Pilot'" `
        -SearchBase $staff)) {
    New-ADOrganizationalUnit -Name Pilot -Path $staff
}
Get-ADUser -Identity petrova | Move-ADObject -TargetPath $pilot

Переменные $staff и $pilot понадобятся ниже; если вы откроете новую сессию PowerShell, задайте их заново.

Задача 1: сетевой диск через Group Policy Preferences

Создайте GPO и сразу привяжите его к Pilot. Префикс USR- означает политику для пользователей (для компьютеров используют CMP-):

$name = 'USR-Drive-Public'
if (-not (Get-GPO -Name $name -ErrorAction SilentlyContinue)) {
    New-GPO -Name $name -Comment 'Disk P: -> \\FS1\Public (pilot)' |
        New-GPLink -Target $pilot
}

Пример вывода (из New-GPLink):

GpoId       : 2f6c9d1e-5a41-4c3b-9e7a-0b8d3c4a1f20
DisplayName : USR-Drive-Public
Enabled     : True
Enforced    : False
Target      : OU=Pilot,OU=Staff,DC=lab,DC=example
Order       : 1

Дальше всё делается в редакторе:

  1. В GPMC найдите USR-Drive-Public, правый щелчок → «Изменить».
  2. User Configuration → Preferences → Windows Settings → Drive Maps. Правый щелчок → New → Mapped Drive. Названия разделов Preferences в русской консоли могут отличаться.
  3. Действие (Action) выберите Update: если диска нет, он будет создан, а если есть, его настройки обновятся. В поле Location введите \\FS1\Public, отметьте Reconnect, укажите букву P:. Общую папку Public создаёт Windows Server с нуля 08; пока её нет, подставьте любой существующий ресурс.
  4. Чтобы диск получали только сотрудники, откройте вкладку Common, включите Item-level targeting и добавьте условие Security Group с группой GG-Staff. Такая «таргетизация элемента» работает на уровне одного диска внутри GPO. Для диска с папкой \\FS1\Accounting условием будет GG-Accounting.
  5. Закройте редактор. В GPMC щёлкните политику правой кнопкой, выберите GPO Status → Computer configuration settings disabled: неиспользуемую половину политики лучше отключить, обработка станет чуть быстрее.

Проверка. На PC1 войдите как petrova (при первом входе Windows попросит сменить временный пароль из Windows Server с нуля 05), выполните gpupdate /force, затем выйдите и войдите снова: часть расширений обрабатывается только при входе. В «Проводнике» должен появиться диск P:. Какие политики применились, покажет:

gpresult /r /scope user

Пример вывода (фрагмент; формат приблизительный):

USER SETTINGS
-------------
    CN=Maria Petrova,OU=Pilot,OU=Staff,DC=lab,DC=example
    Group Policy was applied from:      DC1.lab.example

    Applied Group Policy Objects
    -----------------------------
        USR-Drive-Public

Не пытайтесь задавать в Drive Maps отдельную учётную запись и пароль: обновление MS14-025 отключило такие поля, а почему — объясняет раздел про ловушки.

Задача 2: запрет записи на USB-накопители

Создайте вторую GPO и привяжите её к Pilot:

$name = 'USR-Block-USB-Write'
if (-not (Get-GPO -Name $name -ErrorAction SilentlyContinue)) {
    New-GPO -Name $name -Comment 'Deny write (pilot)' |
        New-GPLink -Target $pilot
}

В редакторе: User Configuration → Policies → Administrative Templates → System → Removable Storage Access → Removable Disks: Deny write access → Enabled. Названия в русской консоли могут отличаться, ориентируйтесь на английский путь. Рядом лежат смежные политики: WPD Devices: Deny write access относится к медиаплеерам и телефонам, а All Removable Storage classes: Deny all access запрещает любой доступ ко всем классам съёмных носителей и имеет приоритет над отдельными настройками.

В описании соседней политики Set time (in seconds) to force reboot (она лежит в том же разделе) сказано: если перезагрузка не принудительная, изменение прав вступает в силу только после перезапуска операционной системы. Поэтому проверяйте так: перезагрузите PC1, войдите как petrova, вставьте флешку: чтение должно работать, запись — завершаться отказом. Для контроля войдите как ivanov (он вне Pilot): запись разрешена. Откат — отвязать политику: Remove-GPLink -Name 'USR-Block-USB-Write' -Target $pilot.

Перед боевым применением учтите: политика запретит запись и тем, кто сохраняет на флешку резервные копии; для исключений используйте фильтрацию по группе безопасности. Запрет записи на съёмные носители не защищает данные от копирования по сети или в облако.

От пилота к боевому применению

Когда всё работает, привяжите обе политики к Staff и уберите привязки с Pilot: petrova останется под действием политик по наследованию, а ivanov и sidorov получат их тоже. Это затронет всех сотрудников, поэтому делайте шаг осознанно.

$names = 'USR-Drive-Public', 'USR-Block-USB-Write'
foreach ($n in $names) {
    New-GPLink -Name $n -Target $staff | Out-Null
    Remove-GPLink -Name $n -Target $pilot | Out-Null
}
Get-GPInheritance -Target $pilot |
    Select-Object -ExpandProperty InheritedGpoLinks |
    Format-Table DisplayName, Enabled, Enforced, Order -AutoSize

Политика паролей и Default Domain Policy

Парольная политика домена применяется на уровне домена, поэтому лежит в Default Domain Policy. Как её изменить: в GPMC щёлкните Default Domain Policy правой кнопкой → «Изменить», откройте Computer Configuration → Policies → Windows Settings → Security Settings → Account Policies → Password Policy и дважды щёлкните нужный параметр. До этого сделайте копию, а после проверьте результат командой Get-ADDefaultDomainPasswordPolicy. Для отдельных групп, которым нужны другие требования, предназначены fine-grained-политики из Windows Server с нуля 05.

Microsoft рекомендует держать в Default Domain Policy только политику паролей, политику блокировки и политику Kerberos, а в Default Domain Controllers Policy — только права пользователей и аудит. Всё остальное делайте в отдельных GPO.

Warning

Изменение Default Domain Policy затрагивает весь домен сразу. Перед правкой сделайте копию, после проверьте результат на пилотном компьютере: Backup-GPO -Name 'Default Domain Policy' -Path C:\Backup\GPO. Откат: Restore-GPO -Name 'Default Domain Policy' -Path C:\Backup\GPO. Утилита dcgpofix пересоздаёт политики по умолчанию и возвращает их к исходным настройкам, ваши правки в них пропадут. Параметр /target выбирает политику (domain, dc или both), значение по умолчанию на странице документации не названо: смотрите dcgpofix /?. Это крайняя мера после прочтения документации.

Диагностика: почему настройка не применилась

Идите от простого к сложному.

  1. Обновите политику на клиенте. gpupdate /force применяет заново все настройки (по умолчанию применяются только изменившиеся); /target:computer и /target:user ограничивают обновление одной веткой. Удалённый компьютер обновляет Invoke-GPUpdate: командлет ставит задачу в планировщик, чтобы она запустилась сразу, укажите -RandomDelayInMinutes 0, а на клиенте должны быть разрешены правила брандмауэра Remote Scheduled Tasks Management (RPC), Remote Scheduled Tasks Management (RPC-ERMAP) и Windows Management Instrumentation (WMI-IN).
  2. Посмотрите результат. gpresult /r показывает список применённых и отфильтрованных GPO, /scope user или /scope computer выводит одну ветку. HTML-отчёт строит gpresult /h gp.html: для него запускайте консоль от имени администратора. В GPMC то же даёт «Мастер результатов групповой политики» (Group Policy Results): он берёт данные у реального компьютера, при необходимости удалённо. «Моделирование групповой политики» (Group Policy Modeling) показывает, что было бы при другой конфигурации.
  3. Прочитайте журналы. В Просмотре событий откройте журналы «Система» и «Приложение», а также Applications and Services Logs → Microsoft → Windows → GroupPolicy → Operational (Microsoft-Windows-GroupPolicy/Operational). Там перечислены применённые и отклонённые GPO с причинами. Для разбора одного прохода применения отфильтруйте журнал по ActivityID события.
  4. Проверьте область действия. Находится ли объект (пользователь или компьютер) в OU с привязкой; включена ли привязка; нет ли блокировки наследования или перекрытия ссылкой с большим приоритетом; права на GPO: Get-GPPermission -Name 'USR-Drive-Public' -All; WMI-фильтр.
  5. Проверьте DNS и связь с контроллером. События 1030 и 1058 указывают на разрешение имён, доступ к контроллеру и чтение \\<контроллер>\SYSVOL\<домен>\Policies\<GUID>\gpt.ini. Событие 1129 сообщает о сбое сетевого подключения к контроллеру.
  6. Подождите репликации. Новая политика попадает на все контроллеры через AD и DFSR, а клиент обновляется по расписанию; для теста пользуйтесь gpupdate.

Правила хорошего тона

  • Одна GPO — одна задача, понятное имя с приставкой (USR- для пользовательских настроек, CMP- для компьютерных) и комментарий. Но не дробите настройки до десятков мелких политик: чем меньше GPO применяется к объекту, тем быстрее загрузка и проще разбор.
  • Привязывайте политику на нужном уровне, а не «на всякий случай» к домену.
  • Новое проверяйте на пилотной OU, как мы сделали выше, и всегда имейте копию (Backup-GPO -All, хранить не только на контроллере).
  • В политиках используйте имена серверов или пространства имён, а не IP-адреса: при переезде сервера старые пути придётся искать по всем GPO.

Note

Состояние на ноябрь 2026 года (проверьте актуальность). Бюллетени, о которых идёт речь: MS14-025 (KB 2962486, 2014 год) и MS16-072 (KB 3159398, 2016 год). Модуль GroupPolicy в таблице совместимости Microsoft для PowerShell 7 значится как не проверенный (Untested with Compatibility Layer), поэтому примеры рассчитаны на Windows PowerShell 5.1. Страницы про GPO, GPMC и предпочтения относятся к Windows Server 2025 и 2022; описания Drive Maps и фильтрации по безопасности архивные (Windows Server 2008 R2 и 2012, 2018 год), страница про Central Store написана для клиентов Windows, страница про политики съёмных носителей — для Windows 10 и 11.

Типичные ошибки и недоразумения

  • Пароль в Group Policy Preferences. Поля пароля в предпочтениях (в том числе «Drive Maps», «Scheduled Tasks», «Services», «Local Users and Groups») хранили его в SYSVOL со слабым шифрованием (атрибут cpassword), то есть фактически не защищали. Бюллетень MS14-025 отключил эти поля, а существующие политики с cpassword нужно удалить; скрипт для поиска приложен к описанию бюллетеня. Вместо «диска под другой учётной записью» выдавайте права группам.
  • Пользовательскую политику привязали к OU с компьютерами. Пользовательская ветка зависит от OU, где лежит учётная запись пользователя, а не компьютер; настройки не придут (если не включён loopback).
  • Убрали Authenticated Users из фильтрации. После обновления MS16-072 пользовательские политики читаются в контексте компьютера, и политика может не примениться, если у GPO нет права Read для Authenticated Users, а при фильтрации по группам — для Domain Computers («Компьютеры домена»). Добавьте группе Domain Computers право чтения.
  • Ждут результата сразу. Между правкой и применением могут пройти репликация и интервал обновления (90 минут плюс случайная часть); в тесте используйте gpupdate /force.
  • Правка Default Domain Policy «заодно». Не добавляйте туда сетевые диски, USB-ограничения и скрипты.
  • Удалили GPO вместо привязки. Чтобы остановить действие политики, достаточно удалить ссылку.
  • Разные версии шаблонов у администраторов. Заведите Central Store и обновляйте его централизованно.

Проверьте себя

  1. В каком порядке применяются политики и какая побеждает при конфликте? Local → Site → Domain → OU (от родительского OU к дочернему); побеждает применённая позже, то есть ближайшая к объекту. При нескольких ссылках в одном контейнере выше приоритет у ссылки с меньшим номером. Enforced перекрывает нижестоящие политики и блокировку наследования.
  2. Где хранится GPO? Контейнер — в каталоге Active Directory, шаблон — в папке SYSVOL контроллеров домена; части реплицируются разными механизмами.
  3. Пользователь не получил политику после того, как вы убрали Authenticated Users из фильтрации. Почему? После MS16-072 политики пользователя читаются в контексте компьютера: нужно оставить право Read у Authenticated Users или добавить группе Domain Computers право чтения.
  4. Какими командами проверить, какие GPO применились на клиенте, и как сделать повторное применение? gpresult /r (или /h gp.html) и журнал GroupPolicy/Operational; обновление — gpupdate /force.
  5. Почему нельзя хранить пароль в предпочтениях групповой политики? Он записывается в SYSVOL со слабым шифрованием (cpassword), и такой пароль нельзя считать защищённым; поэтому MS14-025 отключил эти поля.

Что дальше

Источники

Ещё по теме «Windows Server»