Почему не применяется групповая политика, решаем за минуту
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org, в прошлый раз я вам показал, как я делал досрочное погашение ипотеки Сбербанка, поделился свои жизненным опытом. Сегодня я хочу вас научить, как находить и диагностировать причины, по которым у вас может не применяться назначенная вами групповая политика к компьютеру или пользователю или целому организационному подразделению. Мы рассмотрим все этапы, через которые проходит происходит взаимодействие с GPO. Разберем утилиты, которыми должен владеть системный администратор в задачи которого входит создание и назначение политик. Уверен, что данный пост будет вам полезен и интересен.
За, что Active Directory от Microsoft получила такую популярность? Одним из ответов на данный вопрос, будет функционал групповой политики. Все администраторы, как и большинство современных людей, существа очень ленивые и любят, когда все централизованно управляется и по возможности автоматизированно. Именно объекты GPO, позволяют производить настройки десятков, сотен и тысяч компьютеров, из одного места и практически по всем направлениям, например добавление принтеров, скриптов входа, профилей WiFi и многое другое.
Очень частые ситуации, что системный администратор создал новую групповую политику, применил ее на нужный ему объект, но эффекта это не дало и нужно понять почему она не применилась и вот тут начинающие системные администраторы попадают в просак, не понимая, где и что нужно искать. Ниже мы с вами разберем алгоритм действий, который поможет вам найти причину и восстановить работу применения групповой политики на нужный объект.
К чему применяется групповая политика (GPO)
Первое, на что я хочу обратить внимание, это ответить, что делает групповая политика. Все мы прекрасно знаем, что операционная система Windows, это набор служб и ключей реестра. Все настройки, которые вы видите и меняете в графическом режиме, по сути меняют ключи реестра. Понимая, это сразу можно сделать вывод:
- что реестр есть как для объекта компьютер
- и реестр есть для объекта пользователь
Именно эту две сущности являются конечными объектами в политике GPO. В Active Directory объекты пользователей и компьютеров не лежат просто так, а располагаются в двух видах папок:
- Это контейнер - по сути простая папка, важно, что к ней нельзя применять объекты групповой политики.
- Второй тип, это организационные подразделения (OU) - это специальные папки для объединения объектов AD по принципам. Именно с OU связываются объекты групповой политики, для применения их к компьютерам и пользователям. Внешне контейнер отличается от организационной утилитой, тем что у OU, есть дополнительная лычка на значке, это показано на скриншоте.
Алгоритм устранения проблем с GPO
Предположим, что у меня есть групповая политика, которая применяется на организационное подразделение "Client Computers". Политика называется "Управление UIPI". По какой-то причине пользователь жалуется, что она у него не применилась.
Из информации, об области действия групповой политики, первое на что нужно обратить свое внимание, это находится ли объект пользователя или компьютера по нужному пути. Сделать, это просто в оснастке "Управление групповой политикой" найдите вашу политику и посмотрите к каким OU она применяется, это видно на вкладке "Область (Scope)", ее еще называют областью действия политики. В моем случае, это путь root.pyatilistnik.org/Client Computers.
Так как Active Directory, это иерархическая структура, то одна OU можете быть часть дерева из других и сама включать в себя большое количество организационных подразделений. Поэтому если у вас есть вложенность, то просто зайдя в нужную OU вы можете сразу не найти нужный объект. В таком случае воспользуйтесь поиском по Active Directory. Например у меня есть рабочая станция с которой идут жалобы на применение объекта GPO. В поиске выбираем в поле "Найти" компьютеры и в имени указываем w10-cl01, после чего нажимаем "Найти". В результатах поиска вы получите выдачу. Щелкаем по нужному объекту и переходим в нем на вкладку "Объект", где смотрим "Каноническое имя объекта", по сути это его путь расположения в Active Directory. Сравниваем его с тем, что получили из области применения групповой политики и делаем вывод, попадает объект под действие или нет.
Далее убедитесь, что у вас элементарно включена связь объекта групповой политики с нужным организационным подразделением. Для этого в оснастке управления GPO, щелкните правым кликом по нужной политике и в контекстном меню проверьте, что установлена галка "Связь включена", ее так же можно проверить на вкладке "Область" в столбце "Связь задействована", должно стоять значение "да".
Следующим моментом необходимо проверить, что политика не отключена на определенный объект. Для этого перейдите на вкладку "Сведения" на нужной GPO. Нас интересует строка "Состояние GPO". По умолчанию там стоит значение "Включено", означающее, что политика будет пытаться примениться заданные в ней настройки к обоим типам объектов (Пользователю и компьютеру). Но может быть выставлено значение:
- Параметры конфигурации компьютера отключены (Computer configuration settings disabled)
- Параметры конфигурации пользователя отключены (User configuration settings disabled)
- Все параметры отключены (All setting disabled) - запретит применение политики для любого объекта
Выше я вам писал, что структура OU иерархическая, а это означает, что политика прилинкованная с вышестоящего организационного подразделения применяется на нижестоящее. Но вот если у нижестоящей OU отключено наследование сверху, то он не сможет применить данную политику. Проверяется очень просто, найдите нужную вам OU, щелкните по ней правым кликом и удостоверьтесь, что не стоит пункт "Блокировать наследование".
Он кстати будет иметь характерный значок с восклицательным знаком. Данный механизм создан специально, чтобы изолировать данную OU от ненужных политик GPO.
Проверка прав на политику
Объекты групповой политики, так же имеют свой ACL (лист доступа), это означает, что вы можете более тонко настраивать к каким объектам применяется данная политика. В редакторе "Управление групповой политикой" выберите ваш GPO. На вкладке "Область" найдите раздел "Фильтры безопасности", он отображает к каким объектам применяется политика. Данный фильтр безопасности может включать объекты:
- Пользователь
- Компьютер
- Группа безопасности
Если у вас тут выставлена другая группа или отдельные записи, то убедитесь, что нужный объект состоит в данном ACL. Хочу отметить, что если даже нужный объект присутствует в списке фильтра безопасности, то это не означает, что политика к нему применяется и тут дело все в том, что в 2014 году Microsoft изменила принцип чтения политики, таким образом, что у вас в делегированном фильтре безопасности обязательно должна присутствовать группа "Компьютеры домена" или "Прошедшие проверку" у которой должны быть прав на чтение политики. Вся соль в том, что когда вы удаляете группу "Прошедшие проверку" из фильтра безопасности, она удаляется и из вкладки делегирование.
Поэтому перейдите на вкладку "Делегирование" и проверьте наличие любой из групп "Прошедшие проверку" или "Компьютеры домена" и, что есть права на чтение. Если групп нет, то добавьте любую из них. Для этого нажмите кнопку "Дополнительно", далее добавить и выберите "Прошедшие проверку".
Удостоверьтесь, что выставлена галка "Чтение".
Тут же убедитесь, что нет запретов на нужный вам объект, в моем примере, это W10-CL03. Если есть снимите.
Обратите внимание на группу "КОНТРОЛЛЕРЫ ДОМЕНА ПРЕДПРИЯТИЯ (Enterprise Domain Controllers)" данная группа определяет, будет ли происходить репликация данной политики на другие контроллеры или нет, так что если политика отсутствует в папке SYSVOL на других контроллерах, то проверьте права у данной группы.
Еще одним механизмом фильтрации групповой политики, может выступать WMI фильтры. Если они есть и ваш объект не соответствует его требованиям, то вы не сможете применить политику. Посмотреть, это можно в соответствующем разделе. В моем примере есть WMI фильтр для ноутбуков, который не даст применения политики на стационарные компьютеры. Подробнее, о создании WMI фильтров и механизме проверки WMI фильтров, читайте по ссылкам. Ниже я покажу, как на конечном компьютере увидеть, что он не подошел из-за фильтрации GPO по WMI.
Инструменты диагностики групповой политики
Выше мы разобрали возможные места, где могла быть проблема, но по мимо них еще есть несколько инструментов, которые могут дать системному администратору информацию, о причинах, которые мешают применению GPO к нужному объекту.
Существуют три инструмента, которые вам покажут информацию, о применяемых политиках на объекты:
- Утилита командной строки gpresult
- Утилита rsop
- Моделирование групповой политики в оснастке gpmc.msc
- Результаты групповой политики
Диагностика GPO через gpresult
Gpresult первое средство, которое позволит системному администратору определить на каком этапе есть проблемы с выполнением GPO. Откройте на клиентском компьютере или ноутбуке командную строку от имени администратора и введите команду:
gpresult /r /scope:computer (Для компьютера)
Gpresult /r /z (Полный отчет)
Gpresult /r /z > c:\gpresult.txt (Экспорт в файл)
В моем примере у меня есть политика для компьютера "Управление UIPI", поэтому я воспользуюсь gpresult для компьютера. Выполнив gpresult /r /scope:computer я вижу, что моя политика не применилась и числится в списке "Следующие политики GPO не были применены, так как они отфильтрованы". Фильтрация отказано в доступе (Безопасность). Из этого видно, что у компьютера просто нет прав на чтение политики.
Так же в логах Windows вы можете обнаружить событие с кодом ID 5313:
Local Group Policy
Не применяется (пусто)
Управление UIPI
Отказано (безопасность)
А вот пример 5313, но с уже WMI фильтром:
Local Group Policy
Не применяется (пусто)
Управление UIPI
Отказано (фильтр WMI)
Я для исключаю его из запрета применения и пробую новую попытку применения политики. Я делаю для начала обновление групповой политики через gpupdate /force и затем снова выполняю команду gpresult /r /scope:computer, где теперь вижу, что политика не применилась из-за WMI фильтра. Теперь уже понятно куда копать.
Получение данных GPResult с удаленного компьютера GPResult /s server01 /r, поможет администратору или технической поддержке собрать диагностические данные. Аналогичные действия вы можете выполнять и для пользователя, тут все аналогично. Теперь воспользуемся утилитой RSOP. Откройте окно выполнить и введите rsop.msc.
Начнется сбор применяемых политик.
По результатам, у вас откроется окно результирующей политики. Похожее на то, где вы редактируете политику GPO. Тут вы можете перемещаться по веткам и смотреть текущие значения.
Но это не удобно и мы можем совместить две утилиты gpresult и Resultant Set of Policies (RSoP), получив выгодный симбиоз. В командной строке введите:
На выходе вы получите удобный html отчет, о всех примененных или отфильтрованных политиках. Открыв отчет, вы легко поймете ,какие политики были применены, а какие нет и можете сразу посмотреть значения настроек.
Результаты групповой политики
В оснастке GPMC есть возможность посмотреть какие политики применяются к нужному объекту групповой политики. Данный мастер называется "Результат моделирования групповой политики". Щелкаем по нему правым кликом и открываем мастер.
Выбираем нужный компьютер, к которому мы хотим проверить применение политики.
Если в момент добавления компьютера у вас выскочит ошибка "Сервер RPC-недоступен", то проверьте, что у вас запущена на нем служба WMI и в брандмауэре открыты порты для подключения к ней.
Так как я проверяю GPO для компьютера, то мне нет смысла отображать политику для пользователей.
Нажимаем далее. У вас появится отчет. Раскрыв его на вкладке "Сведения" вы увидите, какие политики применены, а какие нет.
Раскрыв подробнее политику, которая не смогла примениться, я вижу, что причиной всему был WMI фильтр.
Последним удобным инструментом диагностики и моделирования групповой политики, выступает функционал GPMC, под названием "Моделирование групповой политики". В задачи которого входит проверка применения политики в существующей ситуации, так и просто тест без реальной прилинковки к OU, указав нужный объект. В оснастке GPMC выберите пункт "Моделирование групповой политикой" и щелкните по нему правым кликом, выбрав "Мастер моделирования групповой политики".
На первом шаге мастера моделирования групповой политики, будет простое уведомление, что к чему, нажимаем далее.
Далее вам будет предложен выбор, дабы указать нужный контроллер домена.
Теперь выбираем нужную OU, для которой мы будем тестировать групповую политику. Делается все через кнопку "Обзор". Я выбрал "Client Computers"
Нажимаем далее.
На следующем шаге мастера моделирования групповой политики, вам предоставят сэмулировать таки параметры:
- Медленное сетевое подключение, меньше 500 кб/с
- Обработка петлевого адреса (Замыкание групповой политики - loopbacl policy) - это опция когда вы применяете для OU в которой находятся компьютеры, например терминальные сервера, политики для пользователя. Делается это для того, чтобы политики применяемые к пользователю на его рабочей станции или другом сервере от тех, что в данной OU. Можете подробно почитать, что такое замыкание групповой политики.
- Выбор сайта.
Указываем в какой группе находится наш объект, к которому будет применяться политика.
далее вы можете применить любой из фильтров WMI, который вы хотите тестировать.
Нажимаем далее.
В итоге мы получаем результат моделирования групповой политики, тут можно посмотреть, что применилось, что нет.
На этом у меня все. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org. Надеюсь, что статья оказалась полезной.
Отличная статья… Так держать!!!
Спасибо, рад, что вам понравилось.
Спасибо! Очень помогла статья!
Очень полезная информация. Спасибо
Огромное спасибо за статью, помогла упорядочить инфу в голове, все по существу и даже с визуальным рядом:)
И такой вопрос. Я создал политику на установку ПО. Смоделировав ее я вижу, что она должна применяться к нужным ПК. Но могу ли я узнать — успешно ли прошла установка ПО? И еще, созданная политика по установке ПО будет применяться единократно или каждый раз при включении управляемого ПК? Еще раз спасибо!
Добрый день! В настройке политики есть варианты поведения единократно или обновить, но хочу отметить, что GPO по мнению MS не самый правильный вариант установки ПО, для этого есть SCCM или на худой конец PowerShell. Отследить вы можете установлено ПО или нет по ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Достойная статья. Но к сожалению в решении моей проблемы не помогла. Проблема в том что не применяется гранулированная политика паролей. Поднял ВМ с тестовым доменом, там всё работает, хоть и нигде не отображается что политика применилась, только если самому проверить в атрибутах у пользователя пункт msDS-ResultantPSO применялась эта политика или нет. На боевом домене ни в какую не хочет работать… Побывал создавать эту политику через остатку цента администирования, через power shell, через редактирование ADSI.
gpresult показывает, что политика применилась?
Спасибо, очень толково! Всё сделал, что хотел. Моделирование политик — успешно! GPResult на клиенте все политики применены. По факту ничего не применилось и не проинсталлировалось. Куда копать уже ума не приложу 🙁
Если на уровне прав все хорошо, компьютер и пользователь успешно считывают политику, то я бы проверил подходит ли ваша настройка для текущей ОС, минимальный уровень применения. Проверил бы на другом компьютере, чтобы локализовать проблему. Так же посмотрел не перезатирает ваш ожидаемый результат, более приоритетной политикой, которая применяется позднее или форсированно. Так же советую изучить логи на контроллере и на нужном вам компьютере.
Очень интересная статья.
Подскажите пожалуйста, как можно бороться с плавающими проблемами.
В домене несколько ПК на win10 применяют политику ограниченного запуска программ(на весь домен), но не применяют исключения на определенную группу.
Важно отметить следующее:
Политика на домен применяется всегда, а политика исключения для пути то применяется, то нет и только на некоторых ПК с вин10. Но не все ПК с win10 страдают этой проблемой.
Опишите пожалуйста, какие у вас ACL, используются ли WMI, фильтры на области?
Здравствуйте!
Я столкнулся с такой ситуацией:
На компьютеры — члены домена
из Default Domain Policy а так же из других политик в пределах Подразделения (OU) передаются политики из Конфигурация компьютера, а из Конфигурация пользователя не наследуются членами домена.
Т.е., например, Запретить доступ к панели управления надо в ручном режиме ставить на компах — членах домена.
Возможно ли реализовать данное действие через политику, а не бегать к каждому компу пользователя?)
Здравствуйте!
Проконсультируйте, пожалуйста в такой ситуации.
Есть Домен и настроенная Групповая политика (GPO), распространяемая на Подразделение (OU).
На все компьютеры (члены Домена) из Подразделения наследуется только разделы
Конфигурация компьютера — Конфигурация Windows – Параметры безопасности.
Для меня очень важно наследование членами Домена таких параметров:
«Конфигурация компьютера» – «Административные шаблоны» – «Система» – «Доступ к съемным запоминающим устройствам» – «Съемные запоминающие устройствам всех классов: Запретить любой доступ» = «Включено».
«Конфигурация пользователя» – «Административные шаблоны» – «Панель управления» – «Запретить доступ к панели управления и параметрам компьютера» = «Включено».
Сейчас приходится устанавливать данные параметры в Локальной политике для каждого компьютера отдельно.
Иван, приветствую!
Набрел на эту прекрасную, без преувеличения, статью при поиске решения проблем с записями extra registry settings.
Статья шикарна, помогла структурировать и разложить по полочкам знания, полученные в результате проб и ошибок с набиванием шишек.
И все-таки вопрос, как воевать с записями в результирующей политике типа extra registry settings?
Половина из них у меня выдает ошибку и хотелось бы от них избавиться, только никак не могу их найти в явном виде в политиках.
Есть только записи в comment.cmtx и registry.pol в доменной политике по умолчанию, нашел поиском текста в файлах в sysvol.
Подскажите пож-та, а в чем может быть проблема: если политика не применяется к одной из учетных записей? Учетка в тех же группах, что и другие обычные учетки, у которых все ок. Причем, если под проблемной учеткой войти на ПК с Win7Pro, то политики применяются, если зайти на ПК с Win10Pro, то не применяются и при gpresult /r пишет «пользователь не имеет данных RSOP». Не могу понять в чем проблема(. С этой проблемной учеткой было так, я под ней долгое время работал как администратор домена и она была в этой группе. На днях я ее решил превратить в обычную очетку и удалил из админов домена. Все, после этого на ПК 10-кой — проблема! Буду благодарен за помощь. Спасибо.
Получается если в ou есть сервер и две группы с пользователями, я сделаю две разные gpo для этих двух групп, но изменять буду одинаковые параметры, к примеру одной группе пользователей закрою панель управления, а другой наоборот открою. То получается высшая политика перепишит параметры предыдущий политики?
Иван, правильно ли я понимаю, что политика(по пользователю) не отработает если пользователь не является админом компа? Столкнулся с этим при раздаче принтеров с принтсервера. Политики прилетали, но принтак не накатывался, добавил УЗ в админы перелогинился и принтак прилетел.
Не обязательно, все зависит от того, что должно прилететь, в большинстве случаев, как раз наоборот пользователь не администратор в системе и все политики прилетают на него от имени SYSTEM
Создал новую политику, WMI фильтров нет, в делегировании — Authenticated Users, в Scope — OU с моим пользователем, политика Enabled и Linked.
Моделирование политики показывает, что она ко мне как будто бы применяется, но в gpresult /r ее и в помине нет.
Добрый день.
Возникла проблема с применением политики с WMI-фильтром.
в фильтре два запроса:
select * from Win32_Service where Name = ‘ose’
и
select name from Win32_InstalledWin32Program where name like ‘Microsoft Office Профессиональный плюс 2016’
первый применяется только к пк с 32битным офисом, второй только к пк с офисом 2016
запросы рабочие, нужные пк на них выдают результат.
Моделирование GPO выдает результат «Истина» на данный фильтр и целевая политика указывается в списке примененных.
Добрый день. Возникла проблема с применением политики с WMI-фильтром.
в фильтре два запроса: select * from Win32_Service where Name = ‘ose’
и select name from Win32_InstalledWin32Program where name like ‘Microsoft Office Профессиональный плюс 2016’
первый применяется только к пк с 32битным офисом, второй только к пк с офисом 2016 запросы рабочие, нужные пк на них выдают результат. Моделирование GPO выдает результат «Истина» на данный фильтр и целевая политика указывается в списке примененных.
Но в реальности политики отклоняются и в GPResult причина — WMI-фильтр принял значение «Ложь»
На АД-
новая GPO — с записью реестре :
Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PersonalizationCSP
!!! Создаем раздел PersonalizationCSP (Personalization уже есть, в нем не работает)
GPO:
(Конфигурация ПК > Настройки> Кофн. Винды> Реестр. — просто копируем XML, и вставляем в запись реестра, он переносит все что я ниже пишу.
В созданном разделе прописываем:
LockScreenImagePath: \\пусть к файлу заставки.jpg я выкинул все на шару на АД.
LockScreenImageStatus: (DWORD32) = 1
LockScreenImageUrl: \\пусть к файлу заставки.jpg я выкинул все на шару на АД.
Назначаем эту GPO на прошедших проверку + все ПК в домене.
А почему может не применяться Local Group Policy? У меня на некоторых серверах не применяется.
Вот у Вас тоже есть скриншот её неприменения:
«Local Group Policy
Не применяется (пусто)»
Подскажите пожалуйста, при фильтрации через «Фильтры безопасности» отрабатывает политика только на компьютер, на пользователя политика не применяется(Отказано в доступе (фильтрация ограничений безопасности). Группа «Прошедшие проверку» и «Компьютеры домена» с правами на чтение в делегировании есть. В чем может быть проблема?