共用方式為


如何使用 System.Management 呼叫 WMI 類別方法

若要呼叫用戶端 Windows Management Instrumentation (WMI) 類別方法,請在 Configuration Manager 中呼叫 InvokeMethod WMI 類別的 ManagementClass

呼叫 WMI 類別方法

  1. 設定與Configuration Manager用戶端 WMI 命名空間的連線。 如需詳細資訊,請參閱How to Connect to the Configuration Manager Client WMI Namespace by Using System.Management

  2. 使用 ManagementScope 您在步驟一 ManagementClass 中取得的路徑,以及您要呼叫方法的類別名稱,來建立 。

  3. 建立 並 ManagementBaseObject 指定 方法的任何 in 參數。

  4. 使用 物件 InvokeMethod 方法呼叫 ManagementClass 方法。

  5. 使用傳回 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 物件