如何使用 System.Management 调用 WMI 类方法
若要调用客户端 Windows Management Instrumentation (WMI) 类方法,请在 Configuration Manager 中调用 InvokeMethod
WMI 类的 ManagementClass
。
调用 WMI 类方法
设置与Configuration Manager客户端 WMI 命名空间的连接。 有关详细信息,请参阅如何使用 System.Management 连接到 Configuration Manager 客户端 WMI 命名空间。
ManagementClass
使用ManagementScope
在步骤 1 中获取的路径以及要调用方法的类的名称来创建 。创建 并在
ManagementBaseObject
参数中为 方法指定任何 。使用
ManagementClass
对象InvokeMethod
方法调用 方法。使用返回的
ManagementBaseObject
查看返回的参数。
示例
以下 C# 代码示例调用 ISmsClient::GetAssignedSite
方法以获取客户端的当前分配站点。 然后,它使用 ISmsClient::SetAssignedSite
方法将分配的站点设置回相同的值。
有关调用示例代码的信息,请参阅 如何使用 System.Management 调用 WMI 类方法。
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);
}
}
此示例方法具有以下参数:
参数 | 类型 | 说明 |
---|---|---|
scope |
- ManagementScope |
与客户端 WMI 提供程序的有效连接。 路径为 root\ccm。 |
编译代码
命名空间
系统警报
System.Management
Assembly
System.Management
可靠编程
可以引发的异常是 System.Management.ManagementException。
另请参阅
关于Configuration Manager WMI 编程
如何使用 System.Management 调用 WMI 类方法
如何使用 System.Management 连接到 Configuration Manager 客户端 WMI 命名空间
如何使用 System.Management 执行异步查询
如何使用 System.Management 执行同步查询
如何使用 System.Management 读取 WMI 对象