SCROLL
Среднее время на прочтение: 3 мин.

Использование WMI фильтров в групповых политиках (GPO) в Active Directory

WMI (Windows Management Interface) фильтрация в GPO позволяет создавать условия на кого будет распространятся групповая политика. WMI работает на всех версиях Windows начиная с Windows 2000 и Windows XP.

 

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

 

Создание WMI фильтров

Создать WMI  фильтр можно с помощью оснастки управления групповыми политиками (Group Policy Management). Переходим в раздел WMI filters. С помощью контекстного меню выбираем New.

 

В поле Name задаем имя фильтра, в поле Description вводим описание (не обязательно) и нажимаем Add для добавления запроса по которому и будет работать WMI фильтр.

 

JUQwJTkyJTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUI1JTIwTmFtZXNwYWNlJTIwJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUIyJUQwJUJCJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQwJUI3JUQwJUJEJUQwJUIwJUQxJTg3JUQwJUJEJUQwJUI4JUQwJUI1JTIwJUQwJUJGJUQwJUJFLSVEMSU4MyVEMCVCQyVEMCVCRSVEMCVCQiVEMSU4NyVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4RSUyMChyb290JTVDQ0lNdjIpJTJDJTIwJUQwJUIwJTIwJUQwJUIyJTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUI1JTIwUXVlcnklMjAlRDAlQkYlRDAlQjglRDElODglRDAlQjUlRDAlQkMlMjAlRDAlQkQlRDAlQjUlRDAlQkYlRDAlQkUlRDElODElRDElODAlRDAlQjUlRDAlQjQlRDElODElRDElODIlRDAlQjIlRDAlQjUlRDAlQkQlRDAlQkQlRDAlQkUlMjAlRDAlQjclRDAlQjAlRDAlQkYlRDElODAlRDAlQkUlRDElODElMjAlRDElODQlRDAlQjglRDAlQkIlRDElOEMlRDElODIlRDElODAlRDAlQjAu

 

После создания фильтра, он появится в разделе WMI Filters и будет доступен для применения в групповых политиках. Чтобы задать WMI фильтр на GPO выбираем его в разделе WMI Filtering.

 

JUQwJUEyJUQwJUIwJUQwJUJBJUQwJUI4JUQwJUJDJTIwJUQwJUJFJUQwJUIxJUQxJTgwJUQwJUIwJUQwJUI3JUQwJUJFJUQwJUJDJTIwJUQxJTgxJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQxJThFJUQxJTgyJUQxJTgxJUQxJThGJTIwJUQwJUI4JTIwJUQwJUJGJUQxJTgwJUQwJUI4JUQwJUJDJUQwJUI1JUQwJUJEJUQxJThGJUQxJThFJUQxJTgyJUQxJTgxJUQxJThGJTIwJUQwJUJEJUQwJUIwJTIwJUQwJUIzJUQxJTgwJUQxJTgzJUQwJUJGJUQwJUJGJUQwJUJFJUQwJUIyJUQxJThCJUQwJUI1JTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUI4JUQxJTgyJUQwJUI4JUQwJUJBJUQwJUI4JTIwV01JJTIwJUQxJTg0JUQwJUI4JUQwJUJCJUQxJThDJUQxJTgyJUQxJTgwJUQxJThCLiUyMCVEMCVBMiVEMCVCNSVEMCVCRiVEMCVCNSVEMSU4MCVEMSU4QyUyMCVEMSU4MCVEMCVCMCVEMSU4MSVEMSU4MSVEMCVCQyVEMCVCRSVEMSU4MiVEMSU4MCVEMCVCOCVEMCVCQyUyMCVEMCVCQSVEMCVCMCVEMCVCQSUyMCVEMCVCQyVEMCVCRSVEMCVCNiVEMCVCRCVEMCVCRSUyMCVEMCVCRiVEMSU4MCVEMCVCOCVEMCVCQyVEMCVCNSVEMCVCRCVEMSU4RiVEMSU4MiVEMSU4QyUyMCVEMCVCOCVEMSU4NSUyQyUyMCVEMCVCRiVEMSU4MCVEMCVCOCVEMCVCQyVEMCVCNSVEMSU4MCVEMSU4QiUyMCVEMCVCNyVEMCVCMCVEMCVCRiVEMSU4MCVEMCVCRSVEMSU4MSVEMCVCRSVEMCVCMiUyMCVEMCVCQSVEMCVCRSVEMSU4MiVEMCVCRSVEMSU4MCVEMSU4QiVEMCVCNSUyMCVEMCVCMSVEMSU4MyVEMCVCNCVEMSU4MyVEMSU4MiUyMCVEMCVCRiVEMCVCRSVEMCVCQiVEMCVCNSVEMCVCNyVEMCVCRCVEMSU4Qi4=

 

Примеры запросов для WMI фильтров

Примеры WMI фильтрации по версиям ОС Windows.

JUQwJUEyJUQwJUIwJUQwJUIxJUQwJUJCJUQwJUI4JUQxJTg2JUQwJUIwJTIwJUQwJUIyJUQwJUI1JUQxJTgwJUQxJTgxJUQwJUI4JUQwJUI5JTIwJUQwJTlFJUQwJUExJTIwV2luZG93cyUzQQ==

Windows Server 2016 и Windows 10 - 10.0%
Windows Server 2012 R2 и Windows 8.1 — 6.3%
Windows Server 2012 и Windows 8 — 6.2%
Windows Server 2008 R2 и Windows 7 — 6.1%
Windows Server 2008 и Windows Vista — 6.0%

JUQwJUEyJUQwJUI4JUQwJUJGJUQxJThCJTIwJUQwJTlFJUQwJUExJTNB

ProductType=1 - Клиент
ProductType=2 - Контроллер домена
ProductType=3 - Сервер

 

JUQwJTlGJUQxJTgwJUQwJUI4JUQwJUJDJUQwJUI1JUQwJUJEJUQwJUI4JUQxJTgyJUQxJThDJTIwR1BPJTIwJUQxJTgyJUQwJUJFJUQwJUJCJUQxJThDJUQwJUJBJUQwJUJFJTIwJUQwJUJEJUQwJUIwJTIwV2luZG93cyUyMDglM0E=

SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "6.2%" AND ProductType = "1"

JUQwJTlGJUQxJTgwJUQwJUI4JUQwJUJDJUQwJUI1JUQwJUJEJUQwJUI4JUQxJTgyJUQxJThDJTIwR1BPJTIwJUQxJTgyJUQwJUJFJUQwJUJCJUQxJThDJUQwJUJBJUQwJUJFJTIwJUQwJUJEJUQwJUIwJTIwV2luZG93cyUyMFNlcnZlciUyMDIwMTIlMjBSMiUzQQ==

SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "6.3%" AND ( ProductType = "2" OR ProductType = "3" )

JUQwJTlGJUQxJTgwJUQwJUI4JUQwJUJDJUQwJUI1JUQwJUJEJUQwJUI4JUQxJTgyJUQxJThDJTIwR1BPJTIwJUQxJTgyJUQwJUJFJUQwJUJCJUQxJThDJUQwJUJBJUQwJUJFJTIwJUQwJUJEJUQwJUIwJTIwV2luZG93cyUyMDclMjB4NjQlM0E=

select * from Win32_OperatingSystem WHERE Version like "6.1%" AND ProductType="1" AND OSArchitecture = "64-bit"

JUQwJTlGJUQxJTgwJUQwJUI4JUQwJUJDJUQwJUI1JUQwJUJEJUQwJUI4JUQxJTgyJUQxJThDJTIwR1BPJTIwJUQxJTgyJUQwJUJFJUQwJUJCJUQxJThDJUQwJUJBJUQwJUJFJTIwJUQwJUJEJUQwJUIwJTIwV2luZG93cyUyMDclMjB4MzIlM0E=

select * from Win32_OperatingSystem WHERE Version like "6.1%" AND ProductType="1" AND NOT OSArchitecture = "64-bit"

JUQwJTlGJUQxJTgwJUQwJUI4JUQwJUJDJUQwJUI1JUQwJUJEJUQwJUI4JUQxJTgyJUQxJThDJTIwR1BPJTIwJUQxJTgyJUQwJUJFJUQwJUJCJUQxJThDJUQwJUJBJUQwJUJFJTIwJUQwJUJEJUQwJUIwJTIweDMyJUMyJUEwJUQwJTlFJUQwJUExJTNB

SELECT AddressWidth FROM Win32_Processor WHERE AddressWidth ='32'

Применить GPO только на х64 ОС:

SELECT AddressWidth FROM Win32_Processor WHERE AddressWidth ='64'

 

Вот так можно фильтровать применимость GPO на ОС с помощью запросов. С помощью Powershell можно все выше представленные данные посмотреть. Чтобы узнать версию и тип продукта ОС выполним команду:

Get-WMIObject Win32_OperatingSystem | Select Version,ProductType

 

Чтобы посмотреть все свойства класса Win32_OperatingSystem выполним команду:

Get-WMIObject Win32_OperatingSystem | Select *

 

Примеры WMI фильтрации по привязке к IP подсети.

Применить GPO только на IP подсеть 10.7.7.*:

Select * FROM Win32_IP4RouteTable WHERE (Mask='255.255.255.255' AND Destination Like '10.7.7.%')

 

Применить GPO на нексколько IP подсетей 10.7.7.* и 10.7.8.*:

Select * FROM Win32_IP4RouteTable WHERE (Mask='255.255.255.255' AND (Destination Like '10.7.7.%' AND Destination Like '10.7.8.%'))

 

Вот так можно применять GPO строго на указанную IP подсеть. С помощью Powershell можно посмотреть  данные по классу Win32_IP4RouteTable, выполнив команду:

Get-WMIObject WIn32_IP4RouteTable | Select Destination, Mask

 

JUQwJTlGJUQwJUJFJTIwJUQwJUJDJUQwJUI1JUQxJTgwJUQwJUI1JTIwJUQwJUJEJUQwJUI1JUQwJUJFJUQwJUIxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUI4JTIwJUQwJUIxJUQxJTgzJUQwJUI0JUQxJTgzJTIwJUQwJUI0JUQwJUJFJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQxJThGJUQxJTgyJUQxJThDJTIwJUQxJTgxJUQxJTgyJUQwJUIwJUQxJTgyJUQxJThDJUQxJThFJTJDJTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUI1JUQwJUI3JUQwJUJEJUQxJThCJUQwJUJDJUQwJUI4JTIwJUQwJUI3JUQwJUIwJUQwJUJGJUQxJTgwJUQwJUJFJUQxJTgxJUQwJUIwJUQwJUJDJUQwJUI4JTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwV01JJTIwJUQxJTg0JUQwJUI4JUQwJUJCJUQxJThDJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUIyLg==

 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ

Обсуждение

Ответ на комментарий ЖакондаОтмена ответа
9 комментариев
  • Один WMI-фильтр вмещает два запроса и больше. Как они отрабатывают в домене, через «И»?

  • для всей подсети

  • Например подсеть 10.7.7.128/25

  • А Destination — указывать первый адрес подсети, или шлюз, или…?

    • Это ответ на комментарий Александра

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

  • А если подсеть содержит менее 255 адресов, например 10.7.7.0/25 (10.7.7.0 — 10.7.7.127)? Какой запрос в таком случае использовать?

    • Это ответ на комментарий Александра

      Выполните команду — Get-WMIObject WIn32_IP4RouteTable | Select Destination, Mask и увидите какую маску нужно использовать в построение запроса.