Como chamar um método de classe WMI usando System.Management

Para chamar um método de classe WMI (Instrumentação de Gerenciamento do Windows) do cliente, em Configuration Manager, você chama o InvokeMethod da classe WMI .ManagementClass

Para chamar um método de classe WMI

  1. Configure uma conexão com o namespace WMI do cliente Configuration Manager. Para obter mais informações, consulte Como se conectar ao namespace WMI do cliente Configuration Manager usando System.Management.

  2. Crie um ManagementClass usando o ManagementScope caminho obtido na primeira etapa e também o nome da classe na qual você deseja chamar um método.

  3. Crie um ManagementBaseObject e especifique qualquer em parâmetros para o método.

  4. Chame o método usando o método de ManagementClass objeto InvokeMethod .

  5. Usando o retornado ManagementBaseObject, exiba os parâmetros retornados.

Exemplo

O exemplo de código C# a seguir chama o ISmsClient::GetAssignedSite método para obter o site atribuído atual para o cliente. Em seguida, ele define o site atribuído de volta ao mesmo valor usando o ISmsClient::SetAssignedSite método.

Para obter informações sobre como chamar o código de exemplo, consulte Como chamar um método de classe WMI usando 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);  
    }  
}  

Este método de exemplo tem os seguintes parâmetros:

Parâmetro Tipo Descrição
scope - ManagementScope Uma conexão válida com o provedor WMI do cliente. O caminho é raiz\ccm.

Compilando o código

Namespaces

Sistema

System.Management

Assembly

System.Management

Programação robusta

A exceção que pode ser gerada é System.Management.ManagementException.

Confira também

Sobre Configuration Manager programação WMI
Como chamar um método de classe WMI usando System.Management
Como conectar-se ao namespace WMI do cliente Configuration Manager usando System.Management
Como executar uma consulta assíncrona usando System.Management
Como executar uma consulta síncrona usando System.Management
Como ler um objeto WMI usando System.Management