about_WMI

Description courte

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

Description longue

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

WMI classique utilise DCOM pour communiquer avec les appareils en réseau pour 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 dans du code natif (C++).

Ne confondez pas les fournisseurs WMI avec les fournisseurs Windows PowerShell. De nombreuses fonctionnalités Windows ont un fournisseur WMI associé 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 , comme 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, ils sont similaires aux espaces de noms .NET Framework. Les espaces de noms ne sont pas des emplacements physiques, mais 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 (depuis 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 obtenir des espaces de noms WMI dans d’autres espaces de noms, utilisez le paramètre Espace de noms pour modifier l’emplacement de la recherche. La commande suivante recherche les espaces de noms WMI qui résident dans l’espace root/cimv2/Applications de noms.

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 nécessite l’exécution d’une requête récursive à partir de l’espace de noms racine.

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

RECHERCHE DE CLASSES WMI

Dans une installation par défaut de Windows 8, il existe plus de 1 100 classes WMI dans root/cimv2. Avec ce grand nombre de classes WMI, le défi devient d’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 liées à une rubrique spécifique.

Par exemple, pour rechercher des classes WMI dans l’espace root/cimv2 de noms WMI qui sont liées aux disques, vous pouvez utiliser une requête telle que celle illustrée ici.

Get-WmiObject -List *disk*

Pour rechercher des classes WMI lié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 permettent également de découvrir des classes WMI. Pour ce faire, utilisez l’applet Get-CimClass de commande. La commande affichée ici répertorie les classes WMI liées à la vidéo.

Get-CimClass *video*

L’extension de tabulation fonctionne lors de la modification des espaces de noms WMI. Par conséquent, l’utilisation de l’extension de tabulation rend facilement détectables les espaces de noms sub-WMI. Dans l’exemple suivant, l’applet Get-CimClass de commande répertorie les classes WMI liées aux paramètres d’alimentation. Pour le trouver, tapez l’espace root/cimv2 de noms, puis appuyez plusieurs fois sur Tab jusqu’à ce que l’espace de noms Power apparaisse. Voici la commande :

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