System.Management を使用して WMI クラス メソッドを呼び出す方法

クライアント Windows Management Instrumentation (WMI) クラスのメソッドを呼び出すには、Configuration Manager、WMI クラスのManagementClassInvokeMethodを呼び出します。

WMI クラス メソッドを呼び出すには

  1. Configuration Manager クライアント WMI 名前空間への接続を設定します。 詳細については、「System.Management を使用して Configuration Manager クライアント WMI 名前空間に接続する方法」を参照してください。

  2. 手順 1 で取得したManagementScopeパスと、メソッドを呼び出すクラスの名前を使用して、ManagementClassを作成します。

  3. ManagementBaseObjectを作成し、メソッドのパラメーターに挿入します。

  4. ManagementClass オブジェクトの 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);  
    }  
}  

この例のメソッドには、次のパラメータがあります:

パラメーター 説明
scope - ManagementScope クライアント WMI プロバイダーへの有効な接続。 パスは root\ccm です。

コードのコンパイル

名前空間

System

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 オブジェクトを読み取る方法