Listar provedores WMI de terceiros antes de reconstruir o repositório

3

Estou procurando algum cmdlet / script Powershell que liste os provedores de terceiros da WMI antes de reconstruir o repositório inteiro.

Existe o cmdlet GWMI, que lista todos os objetos WMI, mas eu estou perdendo algo como "Empresa:" , então eu usaria o filtro para listar os WMIs que não são da 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        :
....

Existe alguma maneira de detectar provedores WMI de terceiros? Obrigado por qualquer ajuda.

    
por MyKE 29.07.2016 / 09:15

1 resposta

1

Dado como o WMI foi construído e implementado, você é um pouco SOL em uma solução mágica. Eu posso te ajudar um pouco do caminho, mas você ainda vai ter que encarar os resultados. Essencialmente, você precisa começar com uma lista de provedores que você pode obter com o seguinte código:

$Providers = Get-WmiObject "__win32provider"

Se a contagem de matrizes estiver curta, os nomes dos provedores. A Microsoft não usou uma convenção de nomenclatura padrão para que você possa esquecer a filtragem com algo útil como "MSProvider".

Os terceiros foram avisados e solicitados, mas não obrigados, a criar seus provedores para seus próprios namespaces. Qualquer coisa que não esteja no "CIMV2" deve se destacar e ser examinada mais de perto. Para referência, você pode analisar como terceiros registram um provedor WMI e quais informações são necessárias ao fazer isso aqui .

Os objetos retornados pelo código acima têm uma propriedade CLSID que corresponde à sua entrada no registro do Windows. Você pode percorrê-los e consultar o registro e ver se um terceiro adicionou quaisquer valores à chave que você poderia usar para identificá-los.

Caça feliz.

    
por 02.08.2016 / 07:14