How to Call a WMI Class Method by Using System.Management
Aby wywołać metodę klasy Instrumentacja zarządzania windows (WMI) klienta, w Configuration Manager należy wywołać InvokeMethod
klasy ManagementClass
WMI .
Aby wywołać metodę klasy WMI
Skonfiguruj połączenie z przestrzenią nazw usługi WMI klienta Configuration Manager. Aby uzyskać więcej informacji, zobacz How to Connect to the Configuration Manager Client WMI Namespace by Using System.Management (Jak nawiązać połączenie z przestrzenią nazw usługi WMI klienta Configuration Manager przy użyciu funkcji System.Management).
Utwórz obiekt
ManagementClass
przy użyciu ścieżkiManagementScope
otrzymanej w kroku 1, a także nazwy klasy, na którą chcesz wywołać metodę.Utwórz element
ManagementBaseObject
i określ dowolny parametr w parametrach metody .Wywołaj metodę przy użyciu
ManagementClass
metody objectInvokeMethod
.Za pomocą zwróconego
ManagementBaseObject
elementu wyświetl zwrócone parametry.
Przykład
Poniższy przykład kodu w języku ISmsClient::GetAssignedSite
C# wywołuje metodę w celu pobrania bieżącej przypisanej lokacji dla klienta. Następnie ustawia przypisaną lokację z powrotem na tę samą wartość przy użyciu ISmsClient::SetAssignedSite
metody .
Aby uzyskać informacje na temat wywoływania przykładowego kodu, zobacz How to Call a WMI Class Method by Using System.Management (Jak wywołać metodę klasy WMI przy użyciu pliku 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);
}
}
Ta przykładowa metoda ma następujące parametry:
Parametr | Wpisać | Opis |
---|---|---|
scope |
- ManagementScope |
Prawidłowe połączenie z dostawcą WMI klienta. Ścieżka to root\ccm. |
Kompilowanie kodu
Obszary nazw
System
System.Management
Zestawu
System.Management
Niezawodne programowanie
Wyjątek, który można zgłaszać, to System.Management.ManagementException.
Zobacz też
Informacje o programowaniu Configuration Manager WMI
How to Call a WMI Class Method by Using System.Management
How to Connect to the Configuration Manager Client WMI Namespace by Using System.Management (Jak nawiązać połączenie z przestrzenią nazw usługi WMI klienta Configuration Manager przy użyciu programu System.Management)
How to Perform an Asynchronous Query by Using System.Management
How to Perform a Synchronous Query by Using System.Management
Jak odczytać obiekt WMI przy użyciu programu System.Management