Я ищу командлет / скрипт 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. Вы можете просмотреть их в цикле и запросить реестр и посмотреть, добавила ли третья сторона какие-либо значения в ключ, который вы можете использовать для их идентификации.
Хорошей охоты.