Jak wywołać metodę klasy WMI przy użyciu System.Management

Aby wywołać metodę klasy usługi WMI (Instrumentacja zarządzania Windows) klienta w programie Configuration Manager, należy wywołać InvokeMethod metodę klasy WMIManagementClass.

Aby wywołać metodę klasy usługi WMI

  1. Skonfiguruj połączenie z przestrzenią nazw usługi WMI klienta programu Configuration Manager. Aby uzyskać więcej informacji, zobacz Jak nawiązać połączenie z przestrzenią nazw WMI klienta Configuration Manager przy użyciu System.Management.

  2. Utwórz element przy ManagementClass użyciu ManagementScope ścieżki uzyskanej w kroku pierwszym, a także nazwy klasy, na której chcesz wywołać metodę.

  3. Utwórz i ManagementBaseObject określ dowolne w parametrach metody.

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

  5. Korzystając ze zwróconego ManagementBaseObjectpliku, wyświetl zwrócone parametry.

Przykład

W poniższym przykładzie kodu w języku C# wywołano metodę, ISmsClient::GetAssignedSite aby uzyskać aktualnie przypisaną lokację dla klienta. Następnie ustawia przypisaną witrynę 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 usługi WMI przy użyciu 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

Przestrzenie nazw

System

System.Management

Montaż

System.Management

Wydajne programowanie

Wyjątek, który może zostać zgłoszony, to System.Management.ManagementException.

Zobacz też

Informacje o programowaniu usługi WMI programu Configuration Manager
Jak wywołać metodę klasy WMI przy użyciu System.Management
Jak nawiązać połączenie z przestrzenią nazw WMI klienta programu Configuration Manager przy użyciu polecenia System.Management
Jak wykonać zapytanie asynchroniczne za pomocą System.Management
Jak wykonać zapytanie synchroniczne za pomocą System.Management
Jak odczytać obiekt WMI przy użyciu System.Management