Comment appeler une méthode de classe WMI à l’aide de System.Management

Pour appeler une méthode de classe WMI (Windows Management Instrumentation) cliente, dans le Configuration Manager, vous appelez la InvokeMethod classe ManagementClassde WMI .

Pour appeler une méthode de classe WMI

  1. Établissez une connexion à l’espace de noms WMI du client Configuration Manager. Pour plus d’informations, consultez Comment se connecter à l’espace de noms WMI du client Configuration Manager à l’aide de System.Management.

  2. Créez un ManagementClass en utilisant le chemin d’accès obtenu à la ManagementScope première étape, ainsi que le nom de la classe sur laquelle vous souhaitez appeler une méthode.

  3. Créez un ManagementBaseObject et spécifiez n’importe quel dans les paramètres de la méthode.

  4. Appelez la méthode à l’aide de la ManagementClass méthode object InvokeMethod .

  5. En utilisant le , afficher les paramètres renvoyés ManagementBaseObject.

Exemple

L’exemple de code C# suivant appelle la ISmsClient::GetAssignedSite méthode pour obtenir le site actuellement affecté au client. Il redéfinit ensuite le site affecté à la même valeur en utilisant la ISmsClient::SetAssignedSite méthode.

Pour plus d’informations sur l’appel de l’exemple de code, consultez Comment appeler une méthode de classe WMI à l’aide de System.Management.


public void CallMethod(ManagementScope scope)  
{  
    try// Get the client's SMS_Client class.  
    {  
        ManagementClass cls = new ManagementClass(scope.Path.Path, "sms_client", null);  

        // Get current site code.  
        ManagementBaseObject outSiteParams = cls.InvokeMethod("GetAssignedSite", null, null);  

        // Display current site code.  
        Console.WriteLine(outSiteParams["sSiteCode"].ToString());  

        // Set up current site code as input parameter for SetAssignedSite.  
        ManagementBaseObject inParams = cls.GetMethodParameters("SetAssignedSite");  
        inParams["sSiteCode"] = outSiteParams["sSiteCode"].ToString();  

        // Assign the Site code.  
        ManagementBaseObject outMPParams = cls.InvokeMethod("SetAssignedSite", inParams, null);  
    }  
    catch (ManagementException e)  
    {  
        throw new Exception("Failed to execute method", e);  
    }  
}  

Cet exemple de méthode contient les paramètres suivants :

Paramètre Type Description
scope - ManagementScope Connexion valide au fournisseur WMI client. Le chemin est root\ccm.

Compilation du code

Espaces de noms

Système

System.Management

Assembly

System.Management

Programmation robuste

L’exception qui peut être levée est System.Management.ManagementException.

Voir aussi

A propos de la programmation WMI de Configuration Manager
Comment appeler une méthode de classe WMI à l’aide de System.Management
Comment se connecter à l’espace de noms WMI du client Configuration Manager à l’aide de System.Management
Procédure d’exécution d’une requête asynchrone à l’aide de System.Management
Procédure d’exécution d’une requête synchrone à l’aide de System.Management
Comment faire pour lire un objet WMI à l’aide de System.Management