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 ManagementClass
classe WMI.
Per chiamare un metodo di classe WMI
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).
Creare un
ManagementClass
oggetto usando ilManagementScope
percorso ottenuto nel passaggio 1 e anche il nome della classe su cui si vuole chiamare un metodo.Creare un
ManagementBaseObject
oggetto e specificare i parametri in per il metodo .Chiamare il metodo usando il metodo dell'oggetto
ManagementClass
InvokeMethod
.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