WMIの情報を取得するために、SWbemObjectSetからWMI Classesのインスタンスを取得し、 取得したWMI Classesの各インスタンスのプロパティから情報を取得するという流れで 作業します。
この作業をWQLと呼ばれるSQL文を使った方法で取得することができます。SQL文の場合、 通常はデータベースやテーブルを操作しますが、WQLではWMI Classesが対象となります。
下記にデータベースとの対応を表します。
| SQL(データベース) | WQL |
|---|---|
| テーブル | WMIのクラスセット(SWbemObjectSet) |
| 行 | WMIインスタンス(WMI Class) |
| 列 | WMIプロパティ |
WQLを使用するには、SWbemServicesのExecQueryメソッドを使用します。データベースと同様に SELECT プロパティ[,プロパティ,...] FROM WMIクラス で取得できます。列名のアスタリスク(*) も使用することができます。
<script language="VBScript" content="text/vbscript">
Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}")
Set objClasses = objService.ExecQuery("SELECT size FROM Win32_LogicalDisk WHERE DeviceID = 'C:'")
For Each objDisk In objClasses
document.write objDisk.size
Next
</script>
Copyright 1997-2008 BBB All rights reserved.