about_WMI

Mis à jour: mai 2014

S'applique à: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

RUBRIQUE

about_WMI

DESCRIPTION COURTE

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

DESCRIPTION DÉTAILLÉE

WMI est l'implémentation Microsoft de la norme industrielle WBEM (Web-Based Enterprise Management).

L'infrastructure WMI classique utilise DCOM pour communiquer avec les appareils en réseau afin de gérer des systèmes distants. Windows PowerShell® 3.0 introduit un modèle de fournisseur CIM qui utilise WinRM pour supprimer la dépendance par rapport à DCOM. Ce modèle de fournisseur CIM utilise également les 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 Windows PowerShell. De nombreuses fonctionnalités Windows ont un fournisseur WMI associé qui expose leurs capacités de gestion. Pour obtenir des fournisseurs WMI, exécutez une requête WMI qui obtient des instances de la classe WMI __Provider, telle que 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 connexes. De cette manière, ils sont semblables aux espaces de noms .NET Framework. Les espaces de noms ne sont pas des emplacements physiques, mais ressemblent plus à des 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 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 à 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 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 les données dynamiquement quand 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 consiste à identifier la classe WMI appropriée à utiliser pour effectuer une tâche spécifique. Windows PowerShell 3.0 propose deux façons de trouver des classes WMI qui sont liées à un sujet spécifique.

Par exemple, pour rechercher des classes WMI dans l'espace de noms WMI root\CIMV2 qui sont liées aux disques, vous pouvez utiliser une requête comme celle illustrée ici.

        Get-WmiObject -List *disk*

Pour rechercher des classes WMI qui sont liées à la mémoire, vous pouvez utiliser une requête comme celle illustré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 de commande Get-CIMClass. La commande ci-après répertorie les classes WMI associées à la vidéo.

        Get-CimClass *video*

L'extension de tabulation fonctionne lors de la modification des espaces de noms WMI et, par conséquent, son utilisation rend les espaces de noms sub-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 y accéder, tapez l'espace de noms WMI root/CIMV2/ et appuyez sur la touche TAB plusieurs fois jusqu'à ce que l'espace de noms power s'affiche. Voici la commande :

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