about_WMI

Description courte

Windows WMI (Management Instrumentation) utilise le Common Information Model (CIM) pour représenter les systèmes, applications, réseaux, périphériques et autres composants gérables de l’entreprise moderne.

Description longue

Windows WMI (management instrumentation) est l’implémentation par Microsoft de Web-Based Enterprise Management (WBEM), la norme du secteur.

WMI classique utilise DCOM pour communiquer avec les appareils en réseau afin de gérer les systèmes distants. Windows PowerShell 3,0 introduit un modèle de fournisseur CIM qui utilise WinRM pour supprimer la dépendance sur DCOM. ce modèle de fournisseur CIM utilise également de nouvelles api de fournisseur WMI qui permettent aux développeurs d’écrire des applets de commande Windows PowerShell en code natif (C + + ).

ne confondez pas les fournisseurs WMI avec les fournisseurs de Windows PowerShell. de nombreuses fonctionnalités de Windows sont associées à un fournisseur WMI qui expose leurs fonctionnalités de gestion. Pour obtenir des fournisseurs WMI, exécutez une requête WMI qui obtient des instances de la classe WMI __Provider, par exemple la requête suivante.

Get-WmiObject -Class __Provider

TROIS COMPOSANTS DE WMI

les trois composants suivants de WMI interagissent avec Windows PowerShell : espaces de noms, fournisseurs et Classes.

Les espaces de noms WMI organisent les fournisseurs WMI et les classes WMI en groupes de composants associés. de cette façon, elles sont similaires aux espaces de noms .NET Framework. Les espaces de noms ne sont pas des emplacements physiques, mais ils sont plus similaires aux bases de données logiques. Tous les espaces de noms WMI sont des instances de la classe système __Namespace. l’espace de noms WMI par défaut est Root / CIMV2 (car Microsoft Windows 2000). pour utiliser Windows PowerShell pour obtenir des espaces de noms WMI dans la session active, utilisez une commande au format suivant.

Get-WmiObject -Class __Namespace

Pour récupérer les espaces de noms WMI dans d’autres espaces de noms, utilisez le paramètre Namespace pour modifier l’emplacement de la recherche. La commande suivante recherche les espaces de noms WMI qui résident dans l’espace de noms root/Cimv2/applications.

Get-WmiObject -Class __Namespace -Namespace root/CIMv2/applications

Les espaces de noms WMI sont hiérarchiques. Par conséquent, l’obtention d’une liste de tous les espaces de noms sur un système particulier requiert l’exécution d’une requête récursive commençant au niveau de l’espace de noms racine.

les fournisseurs WMI exposent des informations sur Windows objets gérables. Un fournisseur récupère les données d’un composant et transmet ces données via WMI à une application de gestion, par exemple Windows PowerShell. La plupart des fournisseurs WMI sont des fournisseurs dynamiques, ce qui signifie qu’ils obtiennent les données dynamiquement lorsqu’elles sont demandées via l’application de gestion.

RECHERCHE DE CLASSES WMI

dans une installation par défaut de Windows 8, il y a plus de 1 100 classes WMI dans le / Cimv2 racine. Avec ces nombreuses classes WMI, le défi consiste à identifier la classe WMI appropriée à utiliser pour effectuer une tâche spécifique. Windows PowerShell 3,0 fournit deux façons de rechercher des classes WMI associées à une rubrique spécifique.

Par exemple, pour rechercher des classes WMI dans l' \ espace de noms WMI cimv2 racine qui sont liées aux disques, vous pouvez utiliser une requête telle que celle présentée ici.

Get-WmiObject -List *disk*

Pour rechercher des classes WMI associées à la mémoire, vous pouvez utiliser une requête telle que celle présentée ici.

Get-WmiObject -List *memory*

Les applets de commande CIM offrent également la possibilité de découvrir des classes WMI. Pour ce faire, utilisez l’applet de commande Get-CIMClass. La commande illustrée ci-dessous répertorie les classes WMI associées à la vidéo.

Get-CimClass *video*

L’expansion de tabulation fonctionne lorsque vous modifiez les espaces de noms WMI et, par conséquent, l’utilisation de l’expansion de tabulation rend les espaces de noms sous-WMI facilement détectables. Dans l’exemple suivant, l’applet de commande Get-CimClass répertorie les classes WMI associées aux paramètres d’alimentation. Pour le trouver, tapez l' root/CIMV2/ espace de noms, puis appuyez plusieurs fois sur la touche Tab jusqu’à ce que l’espace de noms Power apparaisse. Voici la commande :

Get-CimClass *power* -Namespace root/cimv2/power