Partager via


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 Configuration Manager, vous appelez le InvokeMethod du de la classe ManagementClassWMI.

Pour appeler une méthode de classe WMI

  1. Configurez 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 ManagementScope chemin d’accès obtenu à l’étape 1, ainsi que le nom de la classe sur laquelle vous souhaitez appeler une méthode.

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

  4. Appelez la méthode à l’aide de la méthode d’objet ManagementClassInvokeMethod .

  5. À l’aide du retourné ManagementBaseObject, affichez les paramètres retournés.

Exemple

L’exemple de code C# suivant appelle la ISmsClient::GetAssignedSite méthode pour obtenir le site attribué actuel pour le client. Il rétablit ensuite la même valeur pour le site affecté à l’aide de 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 a les paramètres suivants :

Paramètre Type Description
scope - ManagementScope Connexion valide au fournisseur WMI client. Le chemin d’accès 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

À propos de Configuration Manager programmation WMI
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
Comment effectuer une requête asynchrone à l’aide de System.Management
Comment effectuer une requête synchrone à l’aide de System.Management
Guide pratique pour lire un objet WMI à l’aide de System.Management