WMIを利用するとWindowsの様々な情報を扱うことができる。
例えば、Explorlerで「一覧にエクスポート」できないものを出力したり・・・など。
WmiSample.vbs
'-------------------------------------------------------------------------------------- ' ' ' WMIを利用してWindowsの情報を取得 ' ' '-------------------------------------------------------------------------------------- 'WMIサービスを取得する(winmgmts⇒WMIサービス,impersonationLevel⇒認証レベル) Set objServices = GetObject("winmgmts:{impersonationLevel=impersonate}") 'Win32_LogicalDiskの全件を取得 Set objObjectSet = objServices.InstancesOf("Win32_LogicalDisk") For Each objObject In objObjectSet WScript.Echo objObject.Description Next 'WQL(クエリ)を利用してWin32_ProductのNameの先頭に'F'がつくものを抽出 Set objObjectSet = objServices.ExecQuery("select * from Win32_Product where Name like 'F%'") For Each objObject In objObjectSet WScript.Echo objObject.Name Next
WQLの書き方はSQLと同じだが「Order By」とかは使えない模様。
WMIのクラス、プロパティを調べるにはVbsEdit(WSHのエディタ。シェアウェア)などのツールを使用すると便利。
こんなツールもあるらしい↓
WMI Code Creator v1.0[英語](マイクロソフト)
http://www.atmarkit.co.jp/fwin2k/win2ktips/756wmicreator/wmicreator.html