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) do cliente, em Configuration Manager, você chama o InvokeMethod
da classe WMI .ManagementClass
Para chamar um método de classe WMI
Configure uma conexão com o namespace WMI do cliente Configuration Manager. Para obter mais informações, consulte Como se conectar ao namespace WMI do cliente Configuration Manager usando System.Management.
Crie um
ManagementClass
usando oManagementScope
caminho obtido na primeira etapa e também o nome da classe na qual você deseja chamar um método.Crie um
ManagementBaseObject
e especifique qualquer em parâmetros para o método.Chame o método usando o método de
ManagementClass
objetoInvokeMethod
.Usando o retornado
ManagementBaseObject
, exiba 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 atual para o cliente. Em seguida, ele define o site atribuído de volta ao 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 é raiz\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 Configuration Manager programação WMI
Como chamar um método de classe WMI usando System.Management
Como conectar-se ao namespace WMI do cliente 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