System.Management を使用して WMI オブジェクトを読み取る方法

Configuration Manager では、Configuration Manager クライアント Windows Management Instrumentation (WMI) オブジェクトを読み取るには、ManagementObject オブジェクトを使用して WMI オブジェクトを読み取ります。

WMI オブジェクトを読み取るには

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

  2. ManagementObject オブジェクトを作成します。

  3. 手順 1 で取得したManagementScope パスを使用して ManagementPath オブジェクトを作成します。

  4. ManagementPath オブジェクトを ManagementObject パス プロパティに割り当てます。

  5. ManagementObject オブジェクトの Get メソッドを呼び出して、WMI プロバイダーからオブジェクトを取得します。

  6. ManagementObject オブジェクトを使用して、WMI プロバイダー オブジェクトのプロパティを読み取ります。

次の C# コード例では、Configuration Manager クライアント WMI オブジェクト SMS_Client オブジェクトを取得して、そのプロパティを表示します。

サンプル コードの呼び出しの詳細については、「 System.Management を使用して WMI クラス メソッドを呼び出す方法」を参照してください。


void ReadObject(ManagementScope scope)  
{  
    try  // Gets an instance of a CCM_InstalledComponent.  
    {  
        // Get the object.  
        ManagementObject obj = new ManagementObject();  
        ManagementPath path = new ManagementPath(scope.Path + ":CCM_InstalledComponent.Name='SMSClient'");  

        obj.Path = path;  
        obj.Get();  

        // Display a single property.  
        Console.WriteLine(obj["DisplayName"].ToString());  

        // Display all properties.  
        foreach (PropertyData property in obj.Properties)  
        {  
            Console.WriteLine(property.Name + " " + property.Value);  
        }  
    }  
    catch (ManagementException e)  
    {  
        Console.WriteLine("Failed to get component: " + e.Message);  
        throw;  
    }  
}  

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

パラメーター 説明
scope - ManagementScope クライアント管理スコープ。 名前空間は 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 を使用して同期クエリを実行する方法