小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

WMIとは?

WMIとは、Windows Management Instrumentationの略で、Windows の管理を可能にする Microsoft の主要なテクノロジとのことです。
とりあえず、つかみどころのないWMIですが、以下のページのサンプル(VBScript)を実行して雰囲気を掴んで見ました。

◆サンプル

strComputer = "."

Set wbemServices = GetObject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_LogicalMemoryConfiguration")

For Each wbemObject In wbemObjectSet
    WScript.Echo "物理メモリの合計 (kb): " & wbemObject.TotalPhysicalMemory
Next
http://www.microsoft.com/japan/msdn/columns/scripting/scripting06112002.aspx

GetObject("winmgmts:\\" & strComputer)でのstrComputer = "."指定で、任意のPCへアクセスすることが出来る。
ちなみに、"."は自PCで、自PC以外はホスト名やIPアドレスを指定することが出来る。
wbemServices.InstancesOfで監視情報を指定する。
あとは、For Eachで監視情報を一つ一つループしながらゲットする。
今回の監視情報は『Win32_LogicalMemoryConfiguration』でメモリ情報でしたが、他に以下のものがあります。

◆主な監視情報

  • Win32_Service サービス情報(サービス名、ステータスなど)
  • Win32_Process プロセス情報(プロセス名、使用メモリ容量など)
  • Win32_LogicalDisk ディスク情報(ディスク容量、空き容量など)
  • Win32_Processor CPU情報(CPU使用率など)
  • Win32_OperatingSystem OS情報(プロダクト名、プロダクトタイプなど)
  • Win32_NTLogEvent イベントログ情報(イベント内容など)


尚、WMIは、以下の3つのレイヤーで構成されていて、システムの監視情報へアクセス方法を共通化するインターフェイスです。

  1. 監視対象の情報収集するプロバイダ(SNMPプロバイダやWin32プロバイダ)
  2. プロバイダが収集した情報を保管(CIMやCIMOM)
  3. 監視ツールが保管した情報を読み出すインターフェイス