Test GPO WMI filter using Powershell
GPO WMI filters can get screwed up when edited. Quick way of testing a WMI filter is available using Powershell:
- Grab the GPO WMI filter from GPMC and put it into clipboard
- in Powershell console:
gwmi -Query ‘Paste your WMI filter here’
in words:
write gwmi -Query ‘ (single qoute)
paste in your wmi filter
‘ (single qoute)
Result could look like this:
gwmi -Query ‘SELECT ProductType, CSName FROM Win32_OperatingSystem WHERE (ProductType = “1”) AND Not CSName = “CB002021”)‘
When any results are returned WMI filter evaluates to $true (GPO applies), else $false (GPO does not aplly)
Don’t forget that you get the luxury to test against multiple computer just by adding the -Computername parameter:
gwmi -Query ‘SELECT ProductType, CSName FROM Win32_OperatingSystem WHERE (ProductType = “1”) AND Not CSName = “CB002021”)‘ -Computername PC01,PC02
Получение свойств класса через Powershell WMI
Если мы еще не знаем какой класс нам нужен, а вывод очень большой, то мы можем немного отфильтровать результат. На примере я искал классы где в имени есть BIOS:
Если мы выведем свойства класса операционной системы, то не увидим названия:
Часть свойств можно получить и так:
Для того что бы отобразить все свойства нужно выполнить:
Либо можно объявить результат в переменную:
Получить все значения переменной:
И затем вызывать через переменную. Так я получу название:
Похожие вопросы:
Как запросить размер папки на удаленном компьютере через WMI и C#. Мне нужно найти размер папки каждого пользователя в C:Users в удаленной системе через WMI. Я попробовал Win32_Directory.
Я делаю программное обеспечение, которое управляет планами питания Windows в C#,, и получить планы питания и установить его настройки легко с помощью ManagementObjet. Но я хочу создать новый план.
Таким образом, существует целый ряд cmdlets для работы с GPO в Powershell. По сути, я хотел бы добавить аудит GPO к существующему сценарию аудита, но хочу создать папку для каждого объекта GPO, то.
Я хочу запустить WMI запросов из развернутого сценария входа пользователя GPO для сбора информации о пользователе. Проблема в том, что пользователи должны быть членами группы администраторов, чтобы.
Цель: я пытаюсь изменить GPO (2008R2 AD) через Powershell (v3). В частности, значение конфигурации пользователя -> политики — > настройки Windows — > FileRedirection — > документы UNC путь.
Мне было поручено создать сценарий, в котором я могу автоматизировать конфигурации объектов групповой политики (GPO) с помощью PowerShell. Я создаю новый GPO с помощью этой команды: New-GPO -Name.
У нас есть Google Chrome extension, построенный для внутреннего корпоративного использования. До сих пор он был развернут с помощью GPO, и это прекрасно работало, пока не появился Chrome 33. Теперь.
У меня есть скрипт BATCH, который делает символические ссылки с mklink . Когда я запускаю его как администратор или как системная учетная запись (с psexec -s -e ), он работает так, как должен. Но.
Я пытаюсь создать объект групповой политики программно, используя интерфейс IGrouppolicyobject Я запускаю программу в дочернем домене и могу успешно создать GPO в дочернем домене. Чтобы создать GPO.
Я внедряю клиент OMI на CentOs в C++ для связи с windows WMI Я установил OMI на Linux CentOS 7 и пытаюсь подключиться к Windows 7 с помощью примерной утилиты, предоставленной OMI. Ссылка.
Пересоздание репозитория (хранилища) WMI
В том случае, если предыдущий способ не помог, придется перейти к более «жесткому» способу восстановления работоспособности службы WMI, заключающегося в пересоздании хранилища.
WMI репозиторий (хранилище) находится в каталоге %windir%System32WbemRepository и представляет собой базу данных, в которой содержится информация о метаданных и определениях WMI классов. В некоторых случаях репозитория WMI может содержать статическую информацию классов. При повреждении репозитория WMI, в работе службы Windows Management Instrumentation (Winmgmt) могут наблюдаться ошибки вплоть до полной невозможности ее запустить.
В том случае, если вы подозреваете, что репозиторий WMI поврежден, имейте в виду, что его пересоздание это последняя вещь, к которой нужно прибегнуть только в том случае, если никакие другие операции реанимировать WMI не помогают.
Совет. На практике бывают случаи, когда пересоздание хранилища WMI приводит к проблемам со сторонним софтом. Вызван этот эффект тем, что все записи в базе WMI обнуляются (до состояния чистой системы). Такое ПО, вероятно, придется переустанавливать в режиме восстановления.
В Windows Vista и выше проверить целостность репозитория WMI можно с помощью команды:
Если команда возвращает, что база данных WMI находится в неконсистентном состоянии (INCONSISTENT), стоит попробовать выполнить «мягкое» восстановление репозитория:
И перезапустить службу wmi:
Если описанная выше команда не помогла, выполняем сброс репозитория на начальное состояние (hard reset) так:
В том случае, если команды Winmgmt /salvagerepository и Winmgmt /resetrepository желаемого эффекта не дали, стоит попробовать выполнить «жесткое» пересоздание базы WMI вручную таким сценарием:
Данный скрипт полностью пересоздает хранилище WMI (старый репозитория сохраняется в каталоге Repos_bakup). После окончания работы скрипта компьютер нужно перезагрузить, после чего протестировать работу службы WMI простым запросом.
Create an x86 (32 Bit) WMI Filter
Open the Group Policy Management Console (gpmc.msc) on a domain controller > Drill down to your domain > WMI Filter > New > Give it a sensible name (you will be picking it from a list) > Add > Paste in the following;
Click OK > Accept the warning > OK.
Заметки IT Менеджера
Ни для кого не секрет, что групповые политики являются одной из самых полезных технологий Microsoft Active Directory. Если у вас компьютеров более 10 штук, то Active Directory и групповые политики помогут вам сэкономить массу сил и позволят избежать кучи ошибок.
Но, при все при этом, параметры этих политик для разных операционных систем у Microsoft могут сильно отличаться, кроме того, у вас может быть необходимость назначать эти параметры по разному. “На поверхности” лежит способ с отдельными контейнерами. Он прост, но не совсем удобен, кроме того, он слабо подходит для пользовательских политик.
Есть несколько решений этой задачи. Из новых, достаточно удобных решений – это Group Policy Preferences. У item-level targeting есть и такие параметры как операционная система, разрядность и т.д. Но, к сожалению, такой функционал есть только в разделе Preferences, а других разделов групповой политики это не касается.
Кроме того, есть такая чудная вещь, как WMI filtering. Что особенно удобно, фильтры готовятся заранее, а затем только выбираются в свойствах нужной вам политики.
Как именно это делается? Запускаю Group Policy Management, на панели навигации выбираю WMI Filters, там правая кнопка мышки и New. В поле Name набираю Windows 7 и нажимаю Add. В поле Query набираю:
select * from Win32_OperatingSystem where Version like «6.1» and ProductType = «1»