Как работать с WMI в Powershell

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:

  1. Grab the GPO WMI filter from GPMC and put it into clipboard
  2. 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 Powershell

Часть свойств можно получить и так:

Для того что бы отобразить все свойства нужно выполнить:

Получение всех свойств через WMI Powershell

Либо можно объявить результат в переменную:

Получить все значения переменной:

Все значения WMI Powershell

И затем вызывать через переменную. Так я получу название:

Похожие вопросы:

Как запросить размер папки на удаленном компьютере через 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.

http://www.petenetlive.com/wp-content/uploads/2017/08/001-x32-Bit-WMI-Filter.png

Заметки 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»

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector