Utilisation de WMI

Vous pouvez utiliser WMI depuis des applications et scripts clients. Il fournit une infrastructure qui facilite la découverte et l’exécution des tâches de gestion. De plus, vous pouvez ajouter à l’ensemble des tâches de gestion possibles en créant vos propres fournisseurs WMI.

Remarque

La version de nouvelle génération de WMI pour écrire des applications et des scripts est disponible via l’infrastructure de gestion Windows (MI). Pour plus d’informations, veuillez consulter la section Fournisseurs et clients MI.

Les sujets suivants sont abordés dans cette section :

Obtention de données de WMI

La procédure suivante décrit comment obtenir des données de WMI en écrivant un script ou une application.

Pour obtenir des données de WMI en écrivant un script ou une application

  1. Décidez quelle langue utiliser. Pour plus d’informations sur le script, veuillez consulter la section Création d’un script WMI. Pour plus d’informations sur C++, veuillez consulter la section Création d’une application WMI en utilisant C++. Pour plus d’informations sur C# ou WMI .NET, veuillez consulter la section Vue d’ensemble de WMI .NET.

    Vous pouvez visualiser ou manipuler les données WMI dans de nombreuses langues. Le tableau suivant répertorie les sujets qui décrivent comment utiliser les langages de script et d’application pour obtenir des données.

Langue de l’application Rubrique
Scripts écrits en hébergement de script Microsoft ActiveX, y compris Visual Basic Scripting Edition (VBScript) et Perl
API de script pour WMI.
Commencez par Créer un script WMI.
Pour des exemples de code de script, veuillez consulter la section Tâches WMI pour les scripts et les applications et le référentiel de scripts TechNet ScriptCenter.
Windows PowerShell
Prise en main de Windows PowerShell
Cmdlets PowerShell WMI, tels que Get-WmiObject.
Applications Visual Basic
API de script pour WMI.
Pages de serveur actives
API de script pour WMI.
Commencez par Créer des pages de serveur actives pour WMI.
Applications C++
API COM pour WMI.
Commencez par Créer une application WMI en utilisant C++ et Exemples d’applications WMI C++ (contient des exemples).
Applications du .NET Framework écrites en C#, Visual Basic .NET ou J#
Classes dans l’espace de noms Microsoft.Management.Infrastructure.
Remarque : System.Management était l’espace de noms original qui couvrait le code géré pour WMI. Cependant, la technologie sous-jacente pour System.Management est généralement plus lente et ne se scale pas aussi bien que Microsoft.Management.Infrastructure. Ainsi, il n’est pas recommandé d’utiliser System.Management pour de nouveaux projets. (Pour plus d’informations sur System.Management, veuillez consulter la section Vue d’ensemble de WMI .NET).
  1. Assurez-vous que vos connexions aux ordinateurs distants fonctionnent.

    Pour plus d’informations, veuillez consulter la section Connexion à WMI sur un ordinateur distant.

  2. Se connecter à WMI sur des ordinateurs distants nécessite les paramètres de sécurité corrects, comme expliqué dans la section Maintien de la sécurité WMI. Le tableau suivant répertorie les sujets qui décrivent comment configurer les paramètres de sécurité avec les langages de script et d’application.

    Langage Rubrique
    Scripts dans n’importe quel langage, applications Visual Basic
    Définir le niveau de sécurité de processus par défaut en utilisant VBScript
    Pages de serveur actives
    Configurer IIS 5 et versions ultérieures pour le script ASP WMI
    C++
    Définir le niveau de sécurité de processus par défaut en utilisant C++ et Définir la sécurité sur IWbemServices et autres proxies
  3. Après la connexion à WMI, vous pouvez obtenir des données via des requêtes et des énumérations.

    Pour plus d’informations, veuillez consulter la section Manipulation des informations de classe et d’instance et Requêtes avec WQL.

  4. Les données du registre sont disponibles via WMI et vous pouvez créer de nouvelles clés et valeurs ou modifier les existantes.

    Pour plus d’informations, veuillez consulter la section Modification du registre système.

  5. Vous pouvez vous abonner aux notifications d’événements via WMI, soit temporairement entre les redémarrages du système, soit de manière permanente.

    Pour plus d’informations, veuillez consulter la section Surveillance des événements et Réception d’un événement WMI.

  6. Les données des compteurs de performance d’un système sont disponibles via WMI.

    Les compteurs de la bibliothèque de performances système sont convertis en classes WMI. Pour plus d’informations, veuillez consulter la section Surveillance des données de performance.

  7. Tâches WMI pour les scripts et les applications décrit comment effectuer de nombreuses tâches administratives avec WMI.

Fourniture de données à WMI

La procédure suivante décrit comment fournir des données à WMI en écrivant un fournisseur.

Pour fournir des données à WMI en écrivant un fournisseur

  • Décidez du type de fournisseur à écrire.

    Vous ne pouvez pas écrire un fournisseur WMI en VBScript. Cependant, vous pouvez adopter plusieurs autres approches pour écrire un fournisseur COM WMI :

    • Utiliser l’assistant WMI ATL dans Visual Studio.

      Cette approche crée un fournisseur COM non géré. Pour plus d’informations, veuillez consulter les sections Ajout d’un fournisseur d’instance WMI et Ajout d’un fournisseur d’événements WMI.

    • Utiliser COM directement dans n’importe quel environnement de développement intégré.

      Cette approche crée un fournisseur COM non géré.

    • Utiliser WMI dans le .NET Framework pour créer un fournisseur de code géré.

      Cette approche crée un fournisseur de code géré. Les fournisseurs de code géré peuvent être écrits dans n’importe quel langage du .NET Framework, sont plus simples à écrire que les fournisseurs COM WMI, et peuvent obtenir des données des classes basées sur WMI CIM telles que Classes Win32. Cependant, le fournisseur WMI du .NET Framework présente certaines limitations. Pour plus d’informations, veuillez consulter la section Gestion des applications en utilisant WMI.

    • Il n’est pas recommandé d’utiliser les classes de framework de fournisseur.

      Le framework de fournisseur a été supplanté par les assistants WMI ATL, l’utilisation directe de COM ou les fournisseurs .NET Framework. Il n’est plus recommandé de créer un fournisseur COM WMI avec les classes de framework de fournisseur. Le tableau suivant répertorie les sujets qui décrivent comment utiliser les fournisseurs COM ou .NET Framework.

    Fournisseur Rubrique
    Fournisseur COM dans le même processus que WMI
    Fourniture de données à WMI
    Fournisseur COM découplé
    Intégration d’un fournisseur dans une application
    Fournisseur .NET Framework en C# ou Visual Basic.NET
    Gestion des applications en utilisant WMI

Tâches importantes pour WMI

Les rubriques suivantes fournissent des informations sur l’utilisation de WMI pour surveiller et contrôler les composants de l’entreprise.

Sujet Description
Tâches WMI pour les scripts et les applications
Décrit comment trouver la classe WMI correcte et les procédures à utiliser dans les scripts et les applications qui effectuent des tâches courantes d’administration d’ordinateurs et de réseaux, telles que l’ajout d’une nouvelle connexion d’imprimante pour un ordinateur distant ou la recherche de tous les correctifs installés sur un ordinateur.
Création d’une application ou d’un script WMI
Tout langage de script, tel que VBScript ou Perl, qui fonctionne avec des objets ActiveX peut accéder aux données WMI. Les applications peuvent accéder à WMI en C++, en utilisant l’API COM pour WMI ou en Visual Basic, en utilisant la bibliothèque de types Wbemdisp.tlb et l’API de script pour WMI.
Connexion à WMI sur un ordinateur distant
Décrit comment les scripts, applications et fournisseurs peuvent établir des connexions à WMI sur des ordinateurs distants pour obtenir des données ou contrôler le matériel et les logiciels.
Connexion à WMI sur un ordinateur distant en utilisant Windows PowerShell
Décrit comment utiliser Windows PowerShell pour établir des connexions à WMI sur des ordinateurs distants pour obtenir des données ou contrôler le matériel et les logiciels.
Surveillance des événements
Décrit comment obtenir des notifications d’événements en créant des consommateurs d’événements WMI temporaires ou permanents.
Fourniture de données à WMI
WMI fournit des données de gestion dynamiques aux scripts et applications clients en les obtenant auprès de fournisseurs.
Obtenir et fournir des données sur un ordinateur 64 bits
Décrit comment accéder aux fournisseurs non par défaut et considérations pour les auteurs de fournisseurs sur les systèmes 64 bits.