Freigeben über


Aufrufen einer WMI-Klassenmethode mithilfe von System.Management

Um eine WMI-Klassenmethode (Windows Management Instrumentation, Windows-Verwaltungsinstrumentation) aufzurufen, rufen Sie in Configuration Manager die InvokeMethod der WMI-Klasse ManagementClassauf.

So rufen Sie eine WMI-Klassenmethode auf

  1. Richten Sie eine Verbindung mit dem Configuration Manager-Client-WMI-Namespace ein. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit dem Configuration Manager-Client-WMI-Namespace mithilfe von System.Management.

  2. Erstellen Sie eine ManagementClass mithilfe des Pfads, den ManagementScope Sie in Schritt 1 abgerufen haben, und dem Namen der Klasse, für die Sie eine Methode aufrufen möchten.

  3. Erstellen Sie eine , ManagementBaseObject und geben Sie alle in Parametern für die -Methode an.

  4. Rufen Sie die -Methode mithilfe der ManagementClass -Objektmethode InvokeMethod auf.

  5. Zeigen Sie mit dem zurückgegebenen ManagementBaseObjectdie zurückgegebenen Parameter an.

Beispiel

Im folgenden C#-Codebeispiel wird die ISmsClient::GetAssignedSite -Methode aufgerufen, um den aktuell zugewiesenen Standort für den Client abzurufen. Anschließend wird der zugewiesene Standort mithilfe der -Methode auf denselben ISmsClient::SetAssignedSite Wert zurückgestellt.

Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen einer WMI-Klassenmethode mithilfe von 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);  
    }  
}  

Diese Beispielmethode weist die folgenden Parameter auf:

Parameter Typ Beschreibung
scope - ManagementScope Eine gültige Verbindung mit dem WMI-Clientanbieter. Der Pfad lautet root\ccm.

Kompilieren des Codes

Namespaces

System

System.Management

Assembly

System.Management

Robuste Programmierung

Die Ausnahme, die ausgelöst werden kann, ist System.Management.ManagementException.

Siehe auch

Informationen zur Configuration Manager WMI-Programmierung
Aufrufen einer WMI-Klassenmethode mithilfe von System.Management
Herstellen einer Verbindung mit dem Configuration Manager-Client-WMI-Namespace mithilfe von System.Management
Ausführen einer asynchronen Abfrage mithilfe von System.Management
Ausführen einer synchronen Abfrage mithilfe von System.Management
Lesen eines WMI-Objekts mithilfe von System.Management