Compartir vía


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

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

Para llamar a un método de clase WMI

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

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

  3. Cree y ManagementBaseObject especifique cualquiera de los parámetros en para el método .

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

  5. Con el valor devuelto ManagementBaseObject, vea los parámetros devueltos.

Ejemplo

En el siguiente ejemplo de código de C# se llama al ISmsClient::GetAssignedSite método para obtener el sitio asignado actual 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 parámetros siguientes:

Parámetro Tipo Descripción
scope - ManagementScope Una conexión válida al proveedor 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 Configuration Manager programación WMI
Cómo llamar a un método de clase WMI mediante System.Management
Conexión al espacio de nombres WMI de cliente 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 System.Management