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

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

呼叫 WMI 類別方法

  1. 設定 Configuration Manager 用戶端 WMI 命名空間的連線。 如需詳細資訊,請參閱如何使用 System.Management 連線到 Configuration Manager 用戶端 WMI 命名空間。

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

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

  4. 使用 ManagementClass object InvokeMethod 方法呼叫方法。

  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 物件