WMI фильтр групповой политики для ноутбука или компьютера
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз мы с вами разобрали, устранение ошибки 0xc0000098. В сегодняшней заметке мы разберем ситуацию, при которой вам нужно применить групповую политику только для определенного типа компьютеров или устройств. Уверен, что данная заметка будет полезна и позволит более тонко управлять свои парком устройств.
Постановка задачи
Предположим, что у меня есть групповая политика, которая должна раздавать WIFI настройки профилей подключения к корпоративной сети. Необходимо данную GPO применить только к ноутбукам, отфильтровав политику именно по ним. Или же обратная ситуация, у вас есть политика, которую вы бы хотели применить только к настольным компьютерам и исключить ноутбуки. Для таких целей есть WMI фильтры, с которыми мы уже знакомились.
В чем преимущество WMI перед фильтрацией по группе
Наверняка у вас может возникнуть вопрос, почему нельзя использовать в фильтре безопасности групповой политики группу безопасности и уже в нее добавлять нужные нам объекты. Все верно можно, но тогда у вас появляется дополнительная работа по постоянному добавлению новых устройств в данную группу безопасности. А вот если вы будите фильтровать группу "Прошедшие проверку (Authenticated Users)" через WMI, то вся ручная работа просто испаряется, так как все компьютеры по умолчанию входят в группу "Прошедшие проверку".
Фильтрация WMI для оборудования
Именно здесь мы можем использовать магию фильтров WMI, чтобы автоматизировать задачу определения типа рабочей станции на основе свойств WMI. Фильтровать оборудование можно по многим критериям:
- Имен устройства- применимо если у вас есть стандарт именования устройств
- Форм фактор оперативной памяти
- Наличие батареи на устройстве
Меня привлекают два последних критерия, так как DNS-имя компьютера могут задать и неправильно, нельзя исключать человеческий фактор, а вот критерии оборудования уже сложно обмануть. Давайте создадим наш с вами WMI фильтр. Для этого откройте оснастку gpmc.msc (Управление групповой политикой). Перейдите в раздел "Фильтры WMI", щелкните по нему правым кликом и выберите пункт "Создать".
У вас откроется окно "Новый фильтр WMI", задаем ему имя и описание. После чего нам нужно добавить условия запроса.
Первым запросом мы будем искать все устройства на которых ФормФактор памяти равен 12.
Что такое FormFactor оперативной памяти вы можете почитать по ссылке (https://ru.wikipedia.org/wiki/DIMM). Напоминаю, что в ноутбуках установлена ОЗУ SO-DIMM с формфактором 12. Посмотреть формфактор можно из командной строки:
А вот запрос для выборки, только по ноутбукам:
Цифра 12 будет означать, что перед вами тип памяти SODIM, если 8, то обычная DIMM на обычном стационарном компьютере.
Сохраняем наш запрос. Нажимаем еще раз кнопку "Добавить" и добавляем еще вот такой запрос, который будет проверять наличие на устройстве батареи:
В приведенном выше запросе мы выбираем BatteryStatus из Win32_Battery. Если BatteryStatus не равен (<>) 0, запрос вернет значение TRUE. В итоге у меня два запроса WMI идут в фильтре, друг за другом.
Выберите объект групповой политики, для которого предназначен этот фильтр WMI.
Для этого в самом низу в пункте "Объект GPO связан со следующим фильтром WMI" и из всплывающего списка выберите созданный ранее фильтр.
На вопрос про изменение фильтра WMI нажмите "Да".
В итоге мы применили к групповой политике наш фильтр с определенными параметрами. Осталось его протестировать, как проверять применение WMI фильтра я рассказывал, советую ознакомиться, там было несколько методов.
Но бегло можно на ноутбуке запустить утилиту Gpresult /SCOPE COMPUTER /Z, и вы увидите, что либо был отказ применения политики из-за WMI фильтра или нет.
Хочу отметить, что возможности запросов с помощью которых вы можете проводить фильтрацию устройств, очень разнообразен и богат, и благодаря им вы решите много задач. На этом у меня все, с вами был Иван Семин, автор и создатель IT блога Pyatilistnik.org.
в запросе выборки по ноутбукам «Select * from Win32_PhysicalMemory WHERE (FormFactor != 12)»
знак != означает не равно, т.е. не с памятью SO-DIMM