Обычно объекты групповой политики назначаются на контейнер (домен, сайт или OU) и применяются ко всем объектам в этом контейнере. При грамотно организованной структуре домена этого вполне достаточно, однако иногда требуется дополнительно ограничить применение политик определенной группой объектов. Для этого можно использовать два типа фильтров.
Фильтры безопасности
Фильтры безопасности позволяют ограничить применение политик определенной группой безопасности. Для примера возьмем GPO2, с помощью которого производится централизованная настройка меню Пуск на рабочих станциях с Windows 8.1\Windows 10. GPO2 назначен на OU Employees и применяется ко всем без исключения пользователям.
Теперь перейдем на вкладку «Scope», где в разделе «Security Filtering» указаны группы, к которым может быть применен данный GPO. По умолчанию здесь указывается группа Authenticated Users. Это означает, что политика может быть применена к любому пользователю или компьютеру, успешно прошедшему аутентификацию в домене.
На самом деле каждый GPO имеет свой список доступа, который можно увидеть на вкладке «Delegation».
Для применения политики объект должен иметь права на ее чтение (Read) и применение (Apply group policy), которые и есть у группы Authenticated Users. Соответственно для того, чтобы политика применялась не ко всем, а только к определенной группе, необходимо удалить из списка Authenticated Users, затем добавить нужную группу и выдать ей соответствующие права.
Так в нашем примере политика может применяться только к группе Accounting.
WMI фильтры
Windows Management Instrumentation (WMI) — один из наиболее мощных инструментов для управления операционной системой Windows. WMI содержит огромное количество классов, с помощью которых можно описать практически любые параметры пользователя и компьютера. Посмотреть все имеющиеся классы WMI в виде списка можно с помощью PowerShell, выполнив команду:
Get-WmiObject -List
Для примера возьмем класс Win32_OperatingSystem, который отвечает за свойства операционной системы. Предположим, что требуется отфильтровать все операционные системы кроме Windows 10. Заходим на компьютер с установленной Window 10, открываем консоль PowerShell и выводим имя, версию и тип операционной системы с помощью команды:
Get-WmiObject -Class Win32_OperatingSystem | fl Name, Version, ProductType
Для фильтра используем версию и тип ОС. Версия одинакова для клиентских и серверных ОС и определяется так:
• Window Server 2016\Windows 10 — 10.0
• Window Server 2012 R2\Windows 8.1 — 6.3
• Window Server 2012\Windows 8 — 6.2
• Window Server 2008 R2\Windows 7 — 6.1
• Window Server 2008\Windows Vista — 6.0
Тип продукта отвечает за назначение компьютера и может иметь 3 значения:
• 1 — рабочая станция;
• 2 — контроллер домена;
• 3 — сервер.
Теперь переходим непосредственно к созданию фильтра. Для этого открываем оснастку «Group Policy Management» и переходим к разделу «WMI Filters». Кликаем на нем правой клавишей мыши и в контекстном меню выбираем пункт «New».
В открывшемся окне даем фильтру имя и описание. Затем жмем кнопку «Add» и поле «Query» вводим WQL запрос, который и является основой WMI фильтра. Нам необходимо отобрать ОС версии 10.0 с типом 1, соответственно запрос будет выглядеть так:
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE ″10.0%″ AND ProductType = ″1″
Примечание. Windows Query Language (WQL) — язык запросов WMI. Подробнее о нем можно узнать на MSDN.
Сохраняем получившийся фильтр.
Теперь осталось только назначить WMI фильтр на объект групповой политики, например на GPO3. Переходим к свойствам GPO, открываем вкладку «Scope» и в поле «WMI Filtering» выбираем из списка нужный фильтр.
Анализ применения групповых политик
При таком количестве способов фильтрации GPO необходимо иметь возможность диагностики и анализа их применения. Проще всего проверить действие групповых политик на компьютере можно с помощью утилиты командной строки gpresult.
Для примера зайдем на компьютер wks2, на котором установлена ОС Windows 7, и проверим, сработал ли WMI фильтр. Для этого открываем консоль cmd с правами администратора и выполняем команду gpresult /r, которая выводит суммарную информацию о групповых политиках, примененных к пользователю и компьютеру.
Примечание. Утилита gpresult имеет множество настроек, посмотреть которые можно командой gpresult /?.
Как видно из полученных данных, к компьютеру не применилась политика GPO3, поскольку она была отфильтрована с помощью фильтра WMI.
Также проверить действие GPO можно из оснастки «Group Policy Management», с помощью специального мастера. Для запуска мастера кликаем правой клавишей мыши на разделе «Group Policy Results» и в открывшемся меню выбираем пункт «Group Policy Results Wizard».
Указываем имя компьютера, для которого будет составлен отчет. Если требуется просмотреть только пользовательские настройки групповой политики, то настройки для компьютера можно не собирать. Для этого необходимо поставить галочку снизу (display user policy settings only).
Затем выбираем имя пользователя, для которого будут собираться данные, либо можно указать не включать в отчет настройки групповой политики для пользователя (display computer policy settings only).
Проверяем выбранные настройки, жмем «Next» и ждем, пока собираются данные и генерируется отчет.
Отчет содержит исчерпывающие данные об объектах групповых политик, примененных (или не примененных) к пользователю и компьютеру, а также об используемых фильтрах.
Для примера составим отчеты для двух разных пользователей и сравним их. Первым откроем отчет для пользователя Kirill и перейдем в раздел настроек пользователя. Как видите, к этому пользователю не применилась политика GPO2, поскольку у него нет прав на ее применение (Reason Denied — Inaсcessible).
А теперь откроем отчет для пользователя Oleg. Этот пользователь является членом группы Accounting, поэтому к нему политика была успешно применена. Это означает, что фильтр безопасности успешно отработал.
На этом, пожалуй, я закончу ″увлекательное″ повествование о применении групповых политик. Надеюсь эта информация будет полезной и поможет вам в нелегком деле системного администрирования 🙂
Остается лишь добавить что пользоваться WMI фильтрами нужно очень осторожно иначе можно существенно увеличить время применения групповых политик. 😉 По мне так мне кажется что использовать WMI фильтры нужно тогда, когда другого способа очертить область применения нет.