Condividi tramite


Come chiamare un metodo di classe WMI usando System.Management

Per chiamare un metodo della classe Strumentazione gestione Windows (WMI) client, in Configuration Manager si chiama l'oggetto InvokeMethod dell'oggetto della ManagementClassclasse WMI.

Per chiamare un metodo di classe WMI

  1. Configurare una connessione allo spazio dei nomi WMI del client Configuration Manager. Per altre informazioni, vedere How to Connect to the Configuration Manager Client WMI Namespace by Using System.Management (Come connettersi allo spazio dei nomi WMI del client Configuration Manager tramite System.Management).

  2. Creare un ManagementClass oggetto usando il ManagementScope percorso ottenuto nel passaggio 1 e anche il nome della classe su cui si vuole chiamare un metodo.

  3. Creare un ManagementBaseObject oggetto e specificare i parametri in per il metodo .

  4. Chiamare il metodo usando il metodo dell'oggetto ManagementClassInvokeMethod .

  5. Usando l'oggetto restituito ManagementBaseObject, visualizzare i parametri restituiti.

Esempio

Nell'esempio di codice C# seguente viene chiamato il ISmsClient::GetAssignedSite metodo per ottenere il sito assegnato corrente per il client. Imposta quindi di nuovo il sito assegnato sullo stesso valore usando il ISmsClient::SetAssignedSite metodo .

Per informazioni sulla chiamata del codice di esempio, vedere Come chiamare un metodo di classe WMI tramite 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);  
    }  
}  

Questo metodo di esempio include i parametri seguenti:

Parametro Tipo Descrizione
scope - ManagementScope Connessione valida al provider WMI client. Il percorso è root\ccm.

Compilazione del codice

Namespaces

Sistema

System.Management

Assembly

System.Management

Programmazione efficiente

L'eccezione che può essere generata è System.Management.ManagementException.

Vedere anche

Informazioni sulla programmazione WMI Configuration Manager
Come chiamare un metodo di classe WMI usando System.Management
Come connettersi allo spazio dei nomi WMI del client Configuration Manager tramite System.Management
Come eseguire una query asincrona usando System.Management
Come eseguire una query sincrona tramite System.Management
Come leggere un oggetto WMI usando System.Management