Cómo llamar a un método de clase WMI mediante System.Management

Para llamar a un cliente Instrumental de administración de Windows (método de clase WMI), en Configuration Manager, llame al InvokeMethod de la clase WMI .ManagementClass

Para llamar a un método de clase WMI

  1. Configura una conexión al espacio de nombres WMI de cliente de Configuration Manager. Para obtener más información, consulta Cómo conectarse al espacio de nombres WMI de cliente de Configuration Manager mediante System.Management.

  2. Cree un ManagementClass utilizando la ruta que obtiene en el ManagementScope paso uno, y también el nombre de la clase en la que desea llamar a un método.

  3. Cree un ManagementBaseObject y especifique cualquiera en los parámetros del método.

  4. Llame al método utilizando el ManagementClass método de objeto InvokeMethod .

  5. Con el código devuelto, consulte los parámetros devueltos ManagementBaseObject.

Ejemplo

El siguiente ejemplo de código de C# llama ISmsClient::GetAssignedSite al método para obtener el sitio asignado actualmente para el cliente. A continuación, vuelve a establecer el sitio asignado en el mismo valor mediante el ISmsClient::SetAssignedSite método.

Para obtener información sobre cómo llamar al código de ejemplo, vea Cómo llamar a un método de clase WMI mediante 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 ejemplo tiene los siguientes parámetros:

Parámetro Tipo Descripción
scope - ManagementScope Una conexión válida al proveedor de WMI de cliente. La ruta de acceso es root\ccm.

Compilar el código

Espacios de nombres

Sistema

System.Management

Ensamblado

System.Management

Programación sólida

La excepción que se puede generar es System.Management.ManagementException.

Consulta también

Acerca de la programación WMI de Configuration Manager
Cómo llamar a un método de clase WMI mediante System.Management
Cómo conectarse al espacio de nombres WMI de cliente de Configuration Manager mediante System.Management
Cómo realizar una consulta asincrónica mediante System.Management
Cómo realizar una consulta sincrónica mediante System.Management
Cómo leer un objeto WMI mediante el uso de System.Management