次の方法で共有


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

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

WMI オブジェクトを読み取る方法

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

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

  3. ManagementPath手順 1 から取得したパスをManagementScope持つオブジェクトを作成します。

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

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

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

次の 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 です

関連項目

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