WMI

WMI

 * Windows Management Instrumentation
 * WBEMをWindows OS向けに実装したもの

使用目的

 [1] PCのハードウェア情報の取得 
 [2] PCのソフトウェア情報の取得 
 [3] リモート管理

WMIを体験する

http://technet.microsoft.com/ja-jp/scriptcenter/ff189453.aspx
より、以下の手順を実行してみる

 [1] 以下のサンプルを「MonitorNotepad.vbs」で保存する
 [2] コマンドプロンプトを開き、[1]のファイルのところまで移動
 [3] 「cscript MonitorNotepad.vbs」を入力
   => コマンドプロンプトに「Waiting for a new instance of Notepad to start...」が表示されるはず
 [4] Notepadを開く
   => コマンドプロンプトに「A new instance of Notepad was just started.」が表示されるはず

サンプル

* 「winmgmts」は「WMI」を表す
strComputer = "."

Set wmiService = GetObject("winmgmts://" & strComputer & "/root/cimv2")
wql = "SELECT * FROM __InstanceCreationEvent " & _
"WITHIN 2 WHERE TargetInstance ISA 'Win32_Process' " & _
"AND TargetInstance.Name = 'notepad.exe'"

WScript.Echo "Waiting for a new instance of Notepad to start..."

Set eventSource = wmiService.ExecNotificationQuery(wql)
Set eventObject = eventSource.NextEvent()

WScript.Echo "A new instance of Notepad was just started."