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) cliente, no Configuration Manager, você chama o InvokeMethod da classe ManagementClassWMI.

Para chamar um método de classe WMI

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

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

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

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

  5. Usando o , ManagementBaseObjectvisualize 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 atualmente para o cliente. Em seguida, ele define o site atribuído de volta para o 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 é root\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 a programação WMI do Configuration Manager
Como chamar um método de classe WMI usando System.Management
Como se conectar ao namespace WMI do cliente do 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