about_WMI_Cmdlets

Mis à jour: mai 2014

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

Insérez l'introduction ici.

RUBRIQUE

about_WMI_cmdlets

DESCRIPTION COURTE

Fournit des informations générales sur Windows Management Instrumentation (WMI) et Windows PowerShell®.

DESCRIPTION DÉTAILLÉE

Cette rubrique fournit des informations sur la technologie WMI, les applets de commande WMI pour Windows PowerShell, la communication à distance basée sur WMI, les accélérateurs WMI et la résolution des problèmes de WMI. Cette rubrique fournit également des liens vers d’autres informations sur WMI.

À PROPOS DE WMI

Windows Management Instrumentation (WMI) est l’implémentation Microsoft de Web-Based Enterprise Management (WBEM), qui est une initiative de l’industrie visant à développer une technologie standard pour accéder aux informations de gestion dans un environnement d’entreprise. WMI utilise la norme de l’industrie Common Information Model (CIM) pour représenter les systèmes, applications, réseaux, appareils et autres composants gérés. CIM est développé et géré par la Distributed Management Task Force (DMTF). Vous pouvez utiliser WMI pour gérer des ordinateurs locaux et des ordinateurs distants. Par exemple, vous pouvez utiliser WMI pour effectuer les opérations suivantes :

Démarrer un processus sur un ordinateur distant.

Redémarrer un ordinateur à distance.

Obtenir la liste des applications installées sur un ordinateur local ou distant.

Interroger les journaux des événements Windows sur un ordinateur local ou distant.

LES APPLETS DE COMMANDE WMI POUR WINDOWS POWERSHELL

Windows PowerShell implémente les fonctionnalités WMI via un ensemble d’applets de commande qui sont disponibles par défaut dans Windows PowerShell. Vous pouvez utiliser ces applets de commande pour effectuer les tâches de bout en bout nécessaires pour gérer des ordinateurs locaux et distants.

Les applets de commande WMI suivantes sont incluses.

      Cmdlet                 Description
      ------------------     ----------------------------------------------
      Get-WmiObject          Gets instances of WMI classes or information 
                             about the available classes.

      Invoke-WmiMethod       Calls WMI methods.

      Register-WmiEvent      Subscribes to a WMI event.

      Remove-WmiObject       Deletes WMI classes and instances.

      Set-WmiInstance        Creates or modifies instances of WMI classes.

EXEMPLES DE COMMANDES

La commande suivante affiche les informations du BIOS pour l’ordinateur local.

          C:\PS> get-wmiobject win32_bios | format-list *

La commande suivante affiche des informations sur le service WinRM pour trois ordinateurs distants.

          C:\PS> get-wmiobject -query "select * from win32_service where name='WinRM'" -computername server01, server01, server03

La commande plus complexe suivante ferme toutes les instances d’un programme.

          C:\PS> notepad.exe
          C:\PS> $np = get-wmiobject -query "select * from win32_process where name='notepad.exe'" 
          C:\PS> $np | remove-wmiobject

COMMUNICATION À DISTANCE BASÉE SUR WMI

Si la capacité de gérer un système local via WMI est utile, ce sont les capacités de communication à distance qui font de WMI un puissant outil d’administration. WMI le modèle DCOM (Distributed Component Object Model) de Microsoft pour se connecter aux systèmes et pour les gérer. Vous devrez peut-être configurer certains systèmes pour autoriser les connexions DCOM. Les paramètres du pare-feu et les autorisations DCOM verrouillées peuvent bloquer la capacité de WMI à gérer des systèmes à distance.

ACCÉLÉRATEURS DE SAISIE WMI

Windows PowerShell comprend des accélérateurs de saisie WMI. Ces accélérateurs de saisie WMI (raccourcis) permettent un accès plus direct aux objets WMI qu’une approche où il n’y aurait pas ces accélérateurs.

Les accélérateurs de saisie suivants sont pris en charge avec WMI :

[WMISEARCHER]

Un raccourci pour la recherche d’objets WMI.

[WMICLASS]

Un raccourci pour accéder aux propriétés et méthodes statiques d’une classe.

[WMI]

Un raccourci pour obtenir une seule unique d’une classe.

[WMISEARCHER]

Est un accélérateur de saisie pour un ManagementObjectSearcher. Il peut prendre un constructeur de chaîne pour créer une fonction de recherche sur laquelle vous pouvez ensuite effectuer une opération GET().

Exemple :

      PS> $s = [WmiSearcher]'Select * from Win32_Process where Handlecount > 1000'
      PS> $s.Get() |sort handlecount |ft handlecount,__path,name -auto
      handlecount  __PATH                                              name
      -----------  ------                                              ----
      1105         \\SERVER01\root\cimv2:Win32_Process.Handle="3724"   PowerShell...
      1132         \\SERVER01\root\cimv2:Win32_Process.Handle="1388"   winlogon.exe
      1495         \\SERVER01\root\cimv2:Win32_Process.Handle="2852"   iexplore.exe
      1699         \\SERVER01\root\cimv2:Win32_Process.Handle="1204"   OUTLOOK.EXE
      1719         \\SERVER01\root\cimv2:Win32_Process.Handle="1912"   iexplore.exe
      2579         \\SERVER01\root\cimv2:Win32_Process.Handle="1768"   svchost.exe

[WMICLASS]

Est un accélérateur de saisie pour ManagementClass. Il a un constructeur de chaîne qui prend un chemin d’accès WMI local ou absolu d’une classe WMI, et retourne un objet qui est lié à cette classe.

Exemple :

      PS> $c = [WMICLASS]"root\cimv2:WIn32_Process"
      PS> $c |fl *
      Name             : Win32_Process
      __GENUS          : 1
      __CLASS          : Win32_Process
      __SUPERCLASS     : CIM_Process
      __DYNASTY        : CIM_ManagedSystemElement
      __RELPATH        : Win32_Process
      __PROPERTY_COUNT : 45
      __DERIVATION     : {CIM_Process, CIM_LogicalElement, CIM_ManagedSystemElement}
      __SERVER         : SERVER01
      __NAMESPACE      : ROOT\cimv2
      __PATH           : \\SERVER01\ROOT\cimv2:Win32_Process

[WMI]

Est un accélérateur de saisie pour ManagementObject. Il a un constructeur de chaîne qui prend un chemin d’accès WMI local ou absolu d’une instance WMI, et retourne un objet qui est lié à cette instance.

Exemple :

      PS> $p = [WMI]'\\SERVER01\root\cimv2:Win32_Process.Handle="1204"'
      PS> $p.Name
      OUTLOOK.EXE

RÉSOLUTION DES PROBLÈMES DE WMI

Les problèmes suivants sont les problèmes les plus courants qui peuvent se produire quand vous tentez de vous connecter à un ordinateur distant.

Problème 1 :

L’ordinateur distant n’est pas en ligne.

Si un ordinateur est hors connexion, vous ne pourrez pas vous y connecter à l’aide de WMI. Vous pouvez recevoir le message d’erreur suivant :

          "Remote server machine does not exist or is unavailable"

Si vous recevez ce message d’erreur, vérifiez que l’ordinateur est en ligne. Essayez d’effectuer un test ping vers l’ordinateur distant.

Problème 2 :

Vous n’avez pas de droits d’administrateur local sur l’ordinateur distant.

Pour utiliser WMI à distance, vous devez disposer des droits d’administrateur local sur l’ordinateur distant. Si ce n’est pas le cas, l’accès à cet ordinateur sera refusé.

Pour vérifier la sécurité de l’espace de noms :

a. Cliquez sur Démarrer, cliquez sur Poste de travail, puis cliquez sur Gérer.

b. Dans Gestion de l’ordinateur, développez Services et applications, cliquez avec le bouton droit sur Contrôle WMI, puis cliquez sur Propriétés.

c. Dans la boîte de dialogue Propriétés du contrôle WMI, cliquez sur l’onglet sécurité.

Problème 3 :

Un pare-feu bloque l’accès à l’ordinateur distant.

WMI utilise les protocoles DCOM (Distributed COM) et RPC (Remote Procedure Call) pour parcourir le réseau. Par défaut, de nombreux pare-feu bloquent le trafic DCOM et RPC. Si votre pare-feu bloque ces protocoles, votre connexion échoue. Par exemple, le Pare-feu Windows de Microsoft Windows XP Service Pack 2 est configuré pour bloquer automatiquement tout trafic réseau non sollicité, y compris DCOM et WMI. Dans sa configuration par défaut, le Pare-feu Windows rejette une demande WMI entrante, et vous recevez le message d’erreur suivant :

          "Remote server machine does not exist or is unavailable"

Plus d’informations sur WMI

Pour plus d’informations sur WMI, consultez les rubriques suivantes dans la bibliothèque MSDN (Microsoft Developer Network) :

« À propos de WMI :

https://go.microsoft.com/fwlink/?LinkId=142212

« Résolution des problèmes de WMI »

https://go.microsoft.com/fwlink/?LinkId=142213

Consultez aussi « Secrets de Windows Management Instrumentation – Résolution des problèmes et conseils » dans le Centre de scripts Microsoft TechNet :

https://go.microsoft.com/fwlink/?LinkId=142214

VOIR AUSSI

Version en ligne : https://go.microsoft.com/fwlink/?LinkId=142219

Get-WmiObject

Invoke-WmiMethod

Register-WmiEvent

Remove-WmiObject

Set-WmiInstance