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 ManagementClassWMI .

Aby wywołać metodę klasy WMI

  1. 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).

  2. Utwórz obiekt ManagementClass przy użyciu ścieżki ManagementScope otrzymanej w kroku 1, a także nazwy klasy, na którą chcesz wywołać metodę.

  3. Utwórz element ManagementBaseObject i określ dowolny parametr w parametrach metody .

  4. Wywołaj metodę przy użyciu ManagementClass metody object InvokeMethod .

  5. Za pomocą zwróconego ManagementBaseObjectelementu 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