Почему не применяется групповая политика, решаем за минуту

Почему не применяется групповая политика, решаем за минуту

gpo ad logoДобрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org, в прошлый раз я вам показал, как я делал досрочное погашение ипотеки Сбербанка, поделился свои жизненным опытом. Сегодня я хочу вас научить, как находить и диагностировать причины, по которым у вас может не применяться назначенная вами групповая политика к компьютеру или пользователю или целому организационному подразделению. Мы рассмотрим все этапы, через которые проходит происходит взаимодействие с GPO. Разберем утилиты, которыми должен владеть системный администратор в задачи которого входит создание и назначение политик. Уверен, что данный пост будет вам полезен и интересен.

За, что Active Directory от Microsoft получила такую популярность? Одним из ответов на данный вопрос, будет функционал групповой политики. Все администраторы, как и большинство современных людей, существа очень ленивые и любят, когда все централизованно управляется и по возможности автоматизированно. Именно объекты GPO, позволяют производить настройки десятков, сотен и тысяч компьютеров, из одного места и практически по всем направлениям, например добавление принтеров, скриптов входа, профилей WiFi и многое другое.

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

К чему применяется групповая политика (GPO)

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

  • что реестр есть как для объекта компьютер
  • и реестр есть для объекта пользователь

Именно эту две сущности являются конечными объектами в политике GPO. В Active Directory объекты пользователей и компьютеров не лежат просто так, а располагаются в двух видах папок:

  1. Это контейнер - по сути простая папка, важно, что к ней нельзя применять объекты групповой политики.
  2. Второй тип, это организационные подразделения (OU) - это специальные папки для объединения объектов AD по принципам. Именно с OU связываются объекты групповой политики, для применения их к компьютерам и пользователям. Внешне контейнер отличается от организационной утилитой, тем что у OU, есть дополнительная лычка на значке, это показано на скриншоте.

Отличие контейнера от OU

Алгоритм устранения проблем с GPO

Предположим, что у меня есть групповая политика, которая применяется на организационное подразделение "Client Computers". Политика называется "Управление UIPI". По какой-то причине пользователь жалуется, что она у него не применилась.

Из информации, об области действия групповой политики, первое на что нужно обратить свое внимание, это находится ли объект пользователя или компьютера по нужному пути. Сделать, это просто в оснастке "Управление групповой политикой" найдите вашу политику и посмотрите к каким OU она применяется, это видно на вкладке "Область (Scope)", ее еще называют областью действия политики. В моем случае, это путь root.pyatilistnik.org/Client Computers.

Область применения объекта GPO

Так как Active Directory, это иерархическая структура, то одна OU можете быть часть дерева из других и сама включать в себя большое количество организационных подразделений. Поэтому если у вас есть вложенность, то просто зайдя в нужную OU вы можете сразу не найти нужный объект. В таком случае воспользуйтесь поиском по Active Directory. Например у меня есть рабочая станция с которой идут жалобы на применение объекта GPO. В поиске выбираем в поле "Найти" компьютеры и в имени указываем w10-cl01, после чего нажимаем "Найти". В результатах поиска вы получите выдачу. Щелкаем по нужному объекту и переходим в нем на вкладку "Объект", где смотрим "Каноническое имя объекта", по сути это его путь расположения в Active Directory. Сравниваем его с тем, что получили из области применения групповой политики и делаем вывод, попадает объект под действие или нет.

Поиск объекта Active Directory

Далее убедитесь, что у вас элементарно включена связь объекта групповой политики с нужным организационным подразделением. Для этого в оснастке управления GPO, щелкните правым кликом по нужной политике и в контекстном меню проверьте, что установлена галка "Связь включена", ее так же можно проверить на вкладке "Область" в столбце "Связь задействована", должно стоять значение "да".

проверка включения связи у GPO

Следующим моментом необходимо проверить, что политика не отключена на определенный объект. Для этого перейдите на вкладку "Сведения" на нужной GPO. Нас интересует строка "Состояние GPO". По умолчанию там стоит значение "Включено", означающее, что политика будет пытаться примениться заданные в ней настройки к обоим типам объектов (Пользователю и компьютеру). Но может быть выставлено значение:

  • Параметры конфигурации компьютера отключены (Computer configuration settings disabled)
  • Параметры конфигурации пользователя отключены (User configuration settings disabled)
  • Все параметры отключены (All setting disabled) - запретит применение политики для любого объекта

Сделано, это для ускорения применения политики к объекты. Согласитесь, что если у вас в GPO настроены изменения только для пользователя, то нет смысла проверять политику для компьютера. Поэтому системные администраторы могут отключать это, но могут и ошибиться, выключив не тот объект

вкладка ведения в gpmc
Выше я вам писал, что структура OU иерархическая, а это означает, что политика прилинкованная с вышестоящего организационного подразделения применяется на нижестоящее. Но вот если у нижестоящей OU отключено наследование сверху, то он не сможет применить данную политику. Проверяется очень просто, найдите нужную вам OU, щелкните по ней правым кликом и удостоверьтесь, что не стоит пункт "Блокировать наследование".

Блокировать наследование

Он кстати будет иметь характерный значок с восклицательным знаком. Данный механизм создан специально, чтобы изолировать данную OU от ненужных политик GPO.

пример блокировки наследования GPO

Проверка прав на политику

Объекты групповой политики, так же имеют свой ACL (лист доступа), это означает, что вы можете более тонко настраивать к каким объектам применяется данная политика. В редакторе "Управление групповой политикой" выберите ваш GPO. На вкладке "Область" найдите раздел "Фильтры безопасности", он отображает к каким объектам применяется политика. Данный фильтр безопасности может включать объекты:

  • Пользователь
  • Компьютер
  • Группа безопасности

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

Фильтры безопасности в GPO

Если у вас тут выставлена другая группа или отдельные записи, то убедитесь, что нужный объект состоит в данном ACL. Хочу отметить, что если даже нужный объект присутствует в списке фильтра безопасности, то это не означает, что политика к нему применяется и тут дело все в том, что в 2014 году Microsoft изменила принцип чтения политики, таким образом, что у вас в делегированном фильтре безопасности обязательно должна присутствовать группа "Компьютеры домена" или "Прошедшие проверку" у которой должны быть прав на чтение политики. Вся соль в том, что когда вы удаляете группу "Прошедшие проверку" из фильтра безопасности, она удаляется и из вкладки делегирование.

Чтобы параметры групповой политики для пользователя успешно применялись, она требует наличия у каждой учетной записи компьютера разрешения на считывание данных GPO из контроллера домена. Удаление группы "Прошедшие проверку" может предотвратить обработку групповых политик для пользователя. добавьте группу безопасности "Пользователи, прошедшие проверку подлинности" или "Компьютеры домена", у которой есть по крайней мере разрешение только для чтения (https://support.microsoft.com/en-us/kb/316622)

Не применяется GPO-04

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

Добавление Прошедшие проверку в GPO ACL

Удостоверьтесь, что выставлена галка "Чтение".

Выставление прав на чтение GPO

Тут же убедитесь, что нет запретов на нужный вам объект, в моем примере, это W10-CL03. Если есть снимите.

Запрет применения GPO

Обратите внимание на группу "КОНТРОЛЛЕРЫ ДОМЕНА ПРЕДПРИЯТИЯ (Enterprise Domain Controllers)" данная группа определяет, будет ли происходить репликация данной политики на другие контроллеры или нет, так что если политика отсутствует в папке SYSVOL на других контроллерах, то проверьте права у данной группы.

КОНТРОЛЛЕРЫ ДОМЕНА ПРЕДПРИЯТИЯ

Еще одним механизмом фильтрации групповой политики, может выступать WMI фильтры. Если они есть и ваш объект не соответствует его требованиям, то вы не сможете применить политику. Посмотреть, это можно в соответствующем разделе. В моем примере есть WMI фильтр для ноутбуков, который не даст применения политики на стационарные компьютеры. Подробнее, о создании WMI фильтров и механизме проверки WMI фильтров, читайте по ссылкам. Ниже я покажу, как на конечном компьютере увидеть, что он не подошел из-за фильтрации GPO по WMI.

Фильтр WMI

Инструменты диагностики групповой политики

Выше мы разобрали возможные места, где могла быть проблема, но по мимо них еще есть несколько инструментов, которые могут дать системному администратору информацию, о причинах, которые мешают применению GPO к нужному объекту.

Существуют три инструмента, которые вам покажут информацию, о применяемых политиках на объекты:

  • Утилита командной строки gpresult
  • Утилита rsop
  • Моделирование групповой политики в оснастке gpmc.msc
  • Результаты групповой политики

Диагностика GPO через gpresult

Gpresult первое средство, которое позволит системному администратору определить на каком этапе есть проблемы с выполнением GPO. Откройте на клиентском компьютере или ноутбуке командную строку от имени администратора и введите команду:

gpresult /r /scope:user (Для пользователя)
gpresult /r /scope:computer (Для компьютера)
Gpresult /r /z (Полный отчет)
Gpresult /r /z > c:\gpresult.txt (Экспорт в файл)

В моем примере у меня есть политика для компьютера "Управление UIPI", поэтому я воспользуюсь gpresult для компьютера. Выполнив gpresult /r /scope:computer я вижу, что моя политика не применилась и числится в списке "Следующие политики GPO не были применены, так как они отфильтрованы". Фильтрация отказано в доступе (Безопасность). Из этого видно, что у компьютера просто нет прав на чтение политики.

Фильтрация отказано в доступе (Безопасность)

Так же в логах Windows вы можете обнаружить событие с кодом ID 5313:

Код 5313: Следующие объекты групповой политики не были применены, так как они были отфильтрованы:

Local Group Policy
Не применяется (пусто)
Управление UIPI
Отказано (безопасность)

Код 5313

А вот пример 5313, но с уже WMI фильтром:

Следующие объекты групповой политики не были применены, так как они были отфильтрованы:

Local Group Policy
Не применяется (пусто)
Управление UIPI
Отказано (фильтр WMI)

Код 5313

Я для исключаю его из запрета применения и пробую новую попытку применения политики. Я делаю для начала обновление групповой политики через gpupdate /force и затем снова выполняю команду gpresult /r /scope:computer, где теперь вижу, что политика не применилась из-за WMI фильтра. Теперь уже понятно куда копать.

политика не применилась из-за WMI фильтра

Получение данных GPResult с удаленного компьютера GPResult /s server01 /r, поможет администратору или технической поддержке собрать диагностические данные. Аналогичные действия вы можете выполнять и для пользователя, тут все аналогично. Теперь воспользуемся утилитой RSOP. Откройте окно выполнить и введите rsop.msc.

rsop.msc

Начнется сбор применяемых политик.

Сбор rsop

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

Но это не удобно и мы можем совместить две утилиты gpresult и Resultant Set of Policies (RSoP), получив выгодный симбиоз. В командной строке введите:

GPResult /h c:\report.html /f

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

Отклоненные объекты групповой политики

Результаты групповой политики

В оснастке GPMC есть возможность посмотреть какие политики применяются к нужному объекту групповой политики. Данный мастер называется "Результат моделирования групповой политики". Щелкаем по нему правым кликом и открываем мастер.

Результат моделирования групповой политики

Выбираем нужный компьютер, к которому мы хотим проверить применение политики.

Выбор компьютера в результатах моделирования групповой политики

Если в момент добавления компьютера у вас выскочит ошибка "Сервер RPC-недоступен", то проверьте, что у вас запущена на нем служба WMI и в брандмауэре открыты порты для подключения к ней.

Не запущена служба WMI

Так как я проверяю GPO для компьютера, то мне нет смысла отображать политику для пользователей.

не отображать политику пользователя

Нажимаем далее. У вас появится отчет. Раскрыв его на вкладке "Сведения" вы увидите, какие политики применены, а какие нет.

Отчет результатов групповой политики

Раскрыв подробнее политику, которая не смогла примениться, я вижу, что причиной всему был WMI фильтр.

Из-за чего не отработала GPO

Последним удобным инструментом диагностики и моделирования групповой политики, выступает функционал GPMC, под названием "Моделирование групповой политики". В задачи которого входит проверка применения политики в существующей ситуации, так и просто тест без реальной прилинковки к OU, указав нужный объект. В оснастке GPMC выберите пункт "Моделирование групповой политикой" и щелкните по нему правым кликом, выбрав "Мастер моделирования групповой политики".

Моделирование групповой политики

На первом шаге мастера моделирования групповой политики, будет простое уведомление, что к чему, нажимаем далее.

Моделирование групповой политики

Далее вам будет предложен выбор, дабы указать нужный контроллер домена.

Выбор контроллера домена в rsop

Теперь выбираем нужную OU, для которой мы будем тестировать групповую политику. Делается все через кнопку "Обзор". Я выбрал "Client Computers"

Выбор контейнера в RSOP

Нажимаем далее.

Моделирование групповой политики в gpmc

На следующем шаге мастера моделирования групповой политики, вам предоставят сэмулировать таки параметры:

  • Медленное сетевое подключение, меньше 500 кб/с
  • Обработка петлевого адреса (Замыкание групповой политики - loopbacl policy) - это опция когда вы применяете для OU в которой находятся компьютеры, например терминальные сервера, политики для пользователя. Делается это для того, чтобы политики применяемые к пользователю на его рабочей станции или другом сервере от тех, что в данной OU. Можете подробно почитать, что такое замыкание групповой политики.
  • Выбор сайта.

Выбор сайта в RSOP

Указываем в какой группе находится наш объект, к которому будет применяться политика.

Выбор группы безопасности в rsop

далее вы можете применить любой из фильтров WMI, который вы хотите тестировать.

Выбор фильтров WMI в rsop

Нажимаем далее.

Почему не работает групповая политика

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

Результат моделирования групповой политики

На этом у меня все. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org. Надеюсь, что статья оказалась полезной.

10 Responses to Почему не применяется групповая политика, решаем за минуту

  1. Дмитрий:

    Отличная статья… Так держать!!!

  2. Иван Семин:

    Спасибо, рад, что вам понравилось.

  3. Denis:

    Спасибо! Очень помогла статья!

  4. МК:

    Очень полезная информация. Спасибо

  5. Dmitr:

    Огромное спасибо за статью, помогла упорядочить инфу в голове, все по существу и даже с визуальным рядом:)
    И такой вопрос. Я создал политику на установку ПО. Смоделировав ее я вижу, что она должна применяться к нужным ПК. Но могу ли я узнать — успешно ли прошла установка ПО? И еще, созданная политика по установке ПО будет применяться единократно или каждый раз при включении управляемого ПК? Еще раз спасибо!

  6. Иван Семин:

    Добрый день! В настройке политики есть варианты поведения единократно или обновить, но хочу отметить, что GPO по мнению MS не самый правильный вариант установки ПО, для этого есть SCCM или на худой конец PowerShell. Отследить вы можете установлено ПО или нет по ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

  7. Синий бот:

    Достойная статья. Но к сожалению в решении моей проблемы не помогла. Проблема в том что не применяется гранулированная политика паролей. Поднял ВМ с тестовым доменом, там всё работает, хоть и нигде не отображается что политика применилась, только если самому проверить в атрибутах у пользователя пункт msDS-ResultantPSO применялась эта политика или нет. На боевом домене ни в какую не хочет работать… Побывал создавать эту политику через остатку цента администирования, через power shell, через редактирование ADSI.

  8. Иван Семин:

    gpresult показывает, что политика применилась?

  9. Dmitriy:

    Спасибо, очень толково! Всё сделал, что хотел. Моделирование политик — успешно! GPResult на клиенте все политики применены. По факту ничего не применилось и не проинсталлировалось. Куда копать уже ума не приложу 🙁

  10. Иван Семин:

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *