3 votes

Veuillez répertorier les fournisseurs WMI tiers avant de reconstruire le référentiel.

Je recherche des cmdlets/scripts Powershell qui listent les fournisseurs WMI tiers avant de reconstruire l'ensemble du référentiel.

Il y a le cmdlet GWMI qui liste tous les objets WMI mais je recherche quelque chose comme "Company:", ensuite j'utiliserais un filtre pour lister les WMI non-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-t-il un moyen de détecter les fournisseurs WMI tiers? Merci pour toute aide.

1voto

Colyn1337 Points 2367

Etant donné la manière dont WMI a été construit et implémenté, vous êtes un peu dans l'impasse en ce qui concerne une solution magique. Je peux vous aider dans une certaine mesure, mais vous devrez toujours inspecter les résultats visuellement. Essentiellement, vous devez commencer par une liste de fournisseurs que vous pouvez obtenir avec le code suivant :

$Providers = Get-WmiObject "__win32provider"

Si le nombre d'éléments dans le tableau est faible, inspectez visuellement les noms des fournisseurs. Microsoft n'a pas utilisé de convention de nommage standard, vous pouvez donc oublier de filtrer avec quelque chose d'utile comme "MSProvider".

Il était recommandé aux tiers de créer leurs propres fournisseurs pour leurs propres espaces de noms. Tout ce qui ne se trouve pas dans "CIMV2" devrait ressortir et être examiné de plus près. Pour référence, vous pouvez consulter comment les tiers enregistrent un fournisseur WMI et quelles informations sont requises pour le faire ici.

Les objets retournés par le code ci-dessus ont une propriété CLSID qui correspond à leur entrée dans le registre Windows. Vous pourriez les parcourir en boucle et interroger le registre pour voir si un tiers a ajouté des valeurs à la clé que vous pourriez utiliser pour les identifier.

Bonne chasse.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X