WMI メソッドを呼び出す方法

WMI の主な目的は、ネットワーク上のオブジェクトを表すクラスとインスタンスへのアクセスを提供することです。 これらのクラスとインスタンスは、プロバイダーによってサポートされています。 たとえば、Win32_PhysicalMemoryWin32_Printer など、エンタープライズ上の標準的なハードウェア デバイスを表すインスタンスはすべて、Win32 プロバイダーでサポートされています。 同様に、イベント ログ プロバイダーを介してイベント ログにアクセスし、レジストリ プロバイダーを介してレジストリにアクセスできます。

WMI が IWbemServices などのインターフェイスや SWbemServices などのスクリプト オブジェクトで実装するメソッドは、主に任意のプロバイダーによって提供されるデータを一般的に取得して操作するためのメソッドです。 たとえば、SWbemServices.InstancesOf を使用して、エンタープライズ コンピューターのサブセット内の Win32_Process のすべてのインスタンスを取得します。 その後、各 Win32_Process オブジェクトで Win32 プロバイダー メソッド GetOwnerSid を呼び出すことができます。

次の例では、GetOwnerSid メソッドが Process オブジェクトのオートメーション メソッドとして呼び出されています。 SWbemObject に対して定義されたPath_ メソッドなどの WMI メソッドも Process オブジェクトで呼び出されることがあります。

Set ProcessCollection = _
    GetObject("WinMgmts:").InstancesOf("Win32_Process")

For Each Process In ProcessCollection
    SID = Process.GetOwnerSid
Next

WMI メソッドを使用する実際のプロセスは、他の Windows COM またはオートメーション インターフェイスの使用と同じです。 詳細については、COM と「WMI アプリケーションまたはスクリプトの作成」を参照してください。 WMI がサポートするインターフェイスの詳細については、「WMI 用 COM API」と「WMI 用スクリプト API」を参照してください。

詳細については、「クラスとインスタンスの情報の操作」を参照してください。

メソッドの呼び出し