如何使用 System.Management 呼叫 WMI 類別方法
若要呼叫用戶端 Windows Management Instrumentation (WMI) 類別方法,請在 Configuration Manager 中呼叫 InvokeMethod
WMI 類別的 ManagementClass
。
呼叫 WMI 類別方法
設定與Configuration Manager用戶端 WMI 命名空間的連線。 如需詳細資訊,請參閱How to Connect to the Configuration Manager Client WMI Namespace by Using System.Management。
使用
ManagementScope
您在步驟一ManagementClass
中取得的路徑,以及您要呼叫方法的類別名稱,來建立 。建立 並
ManagementBaseObject
指定 方法的任何 in 參數。使用 物件
InvokeMethod
方法呼叫ManagementClass
方法。使用傳回
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);
}
}
此範例方法具有下列參數:
參數 | Type | 描述 |
---|---|---|
scope |
- ManagementScope |
與用戶端 WMI 提供者的有效連接。 路徑為 root\ccm。 |
正在編譯程式碼
命名空間
系統
System.Management
組件
System.Management
健全的程式設計
可以引發的例外狀況是 System.Management.ManagementException。
另請參閱
關於Configuration Manager WMI 程式設計
如何使用 System.Management 呼叫 WMI 類別方法
如何使用 System.Management 連線到 Configuration Manager 用戶端 WMI 命名空間
如何使用 System.Management 執行非同步查詢
如何使用 System.Management 執行同步查詢
如何使用 System.Management 讀取 WMI 物件