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 ManagementClass
auf.
So rufen Sie eine WMI-Klassenmethode auf
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.
Erstellen Sie eine
ManagementClass
mithilfe des Pfads, denManagementScope
Sie in Schritt 1 abgerufen haben, und dem Namen der Klasse, für die Sie eine Methode aufrufen möchten.Erstellen Sie eine ,
ManagementBaseObject
und geben Sie alle in Parametern für die -Methode an.Rufen Sie die -Methode mithilfe der
ManagementClass
-ObjektmethodeInvokeMethod
auf.Zeigen Sie mit dem zurückgegebenen
ManagementBaseObject
die 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