次の方法で共有


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

クライアント Windows 管理インストルメンテーション (WMI) クラス メソッドを呼び出すには、Configuration Managerで WMI クラスの ManagementClassの を呼び出InvokeMethodします。

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

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

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

  3. ManagementBaseObject 作成し、 メソッドのパラメーターに 任意の を指定します。

  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);  
    }  
}  

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

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

コードのコンパイル

名前空間

System

System.Management

Assembly

System.Management

堅牢なプログラミング

発生できる例外は System.Management.ManagementException です

関連項目

WMI プログラミングConfiguration Managerについて
System.Management を使用して WMI クラス メソッドを呼び出す方法
System.Management を使用してConfiguration Manager クライアント WMI 名前空間に接続する方法
System.Management を使用して非同期クエリを実行する方法
System.Management を使用して同期クエリを実行する方法
System.Management を使用して WMI オブジェクトを読み取る方法