Назад | Перейти на главную страницу

Список сторонних поставщиков WMI перед восстановлением репозитория

Я ищу командлет / скрипт Powershell, в котором перечислены сторонние поставщики WMI, прежде чем я перестрою весь репозиторий.

Есть командлет GWMI, который перечисляет все объекты WMI, но мне не хватает чего-то вроде "Компания:", то я бы использовал фильтр для вывода списка WMI, не принадлежащих Microsoft.

Get-WmiObject -List | fl *
...
PSComputerName   : MyComputer
Name             : __SystemClass
__GENUS          : 1
__CLASS          : __SystemClass
__SUPERCLASS     :
__DYNASTY        : __SystemClass
__RELPATH        : __SystemClass
__PROPERTY_COUNT : 0
__DERIVATION     : {}
__SERVER         : MyComputer
__NAMESPACE      : ROOT\CIMV2
__PATH           : \\MyComputer\ROOT\CIMV2:__SystemClass
Path             : \\MyComputer\ROOT\CIMV2:__SystemClass
Derivation       : {}
Methods          : {}
Scope            : System.Management.ManagementScope
Options          : System.Management.ObjectGetOptions
ClassPath        : \\MyComputer\ROOT\CIMV2:__SystemClass
Properties       : {}
SystemProperties : {__GENUS, __CLASS, __SUPERCLASS, __DYNASTY...}
Qualifiers       : {abstract}
Site             :
Container        :
....

Есть ли способ обнаружить сторонних поставщиков WMI? Спасибо за любую помощь.

Учитывая то, как был построен и реализован WMI, вы не можете найти волшебное решение. Я могу помочь вам в этом, но вам все равно придется следить за результатами. По сути, вам нужно начать со списка поставщиков, который вы можете получить с помощью следующего кода:

$Providers = Get-WmiObject "__win32provider"

Если количество массивов невелико, назовите провайдера. Microsoft не использовала стандартное соглашение об именах, поэтому вы можете забыть о фильтрации с помощью чего-то полезного, например «MSProvider».

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

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

Хорошей охоты.