次の方法で共有


管理情報のクエリ

WMI には、任意の検索条件に基づいてデータのクエリ実行や情報のサブセットを検索する、たいへん便利な機能があります。分散環境の場合は、処理の効率を考慮するため、クエリは情報のソースの周辺 (データのソースを格納しているコンピュータ上) で実行され、結果だけが送信されます。WMI でのクエリの詳細については、MSDN の WMI のドキュメントを参照してください。

ManagementObjectSearcher クラスを使用してクエリを呼び出す方法を次のコード例に示します。クエリは WMI でサポートされている WQL 形式の文字列として指定するか、または使用できるクエリ クラスの 1 つを使用して構築できます。この例では、SelectQuery クラスを使用して、システム環境変数だけをクエリ実行するよう指定しています。結果は、列挙可能なコレクションとして返されます。

using System;
using System.Management;

// This example demonstrates how to perform an object query.

public class QueryInstances {
    public static int Main(string[] args) {
      // Create a query for system environment variables only
      SelectQuery query = 
         new SelectQuery("Win32_Environment", "UserName=\"<SYSTEM>\"");

      // Initialize an object searcher with this query
      ManagementObjectSearcher searcher = 
         new ManagementObjectSearcher(query);

      // Get the resulting collection and loop through it
      foreach (ManagementBaseObject envVar in searcher.Get()) {
         Console.WriteLine("System environment variable {0} = {1}", 
            envVar["Name"], envVar["VariableValue"]);
      }
      return 0;
    }
}

[Visual Basic]
Imports System
Imports System.Management

' This example demonstrates how to perform an object query.

Public Class QueryInstances
   Overloads Public Shared Function Main(args() As String) As Integer
      ' Create a query for system environment variables only
      Dim query As _
         New SelectQuery("Win32_Environment", "UserName=""<SYSTEM>""")

      ' Initialize an object searcher with this query
      Dim searcher As New ManagementObjectSearcher(query)

      ' Get the resulting collection and loop through it
      Dim envVar As ManagementBaseObject
      For Each envVar In  searcher.Get()
       Console.WriteLine("System environment variable {0} = {1}", _
          envVar("Name"), envVar("VariableValue"))
      Next envVar
      Return 0
   End Function 
End Class

参照

System.Management による管理情報へのアクセス | 管理オブジェクトのコレクションの取得 | 管理イベントへのサブスクライブと管理イベントの処理 | 管理オブジェクトのメソッドの実行 | リモート管理と接続オプション | 厳密に型指定されたオブジェクトの使用