- WMI Fun !! -|WMI StepWMI SampleSearchWMI Fun !! GroupsAbout WMI Fun !!
Top Page >> WMI Step >> VBSからWMIを使ってみよう
VBSからWMIを使ってみよう
Topics

今まではVBでの使用方法を説明してきましたが、もちろん問題なくVBSからでもWMIは普通に使えます。(管理者が使うことを考えればVBSで使った方がいいのかも・・・。)
ただしいくらVBSがVBとそっくりといってもやはり違う部分が出てきます。
もちろん今までの構文の書き方では実行時にエラーが発生してしまいます。

下記のソースは空き領域が10%切っているドライブを取得するサンプルのVBS版です。


Sample Code

Option Explicit

Dim DiskSet
Dim Disk
Dim Locator
Dim Service
Dim MesStr

Set Locator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set Service = Locator.ConnectServer

Set DiskSet = Service.ExecQuery _ 
      ("Select * From Win32_LogicalDisk Where DriveType=3")

For Each Disk In DiskSet
      If (Disk.FreeSpace / Disk.Size) < 0.1 Then
      MesStr = MesStr + Disk.Name
      End If
Next

MsgBox "空き容量が10%以下のドライブは、" + _
            vbCrLf + MesStr + "ですよ。"

Set DiskSet = Nothing
Set Disk = Nothing
Set Locator = Nothing
Set Service = Nothing

Comment

では実行してみましょう。
空き容量が10%切っているドライブがあれば表示されるはずです。

VBの場合との変更部分は、

Set Locator = CreateObject("WbemScripting.SWbemLocator")

です。
VBSではNEWキーワードをつかって新しいオブジェクトのインスタンスを作成することはできません。
WScript.CreateObjectメソッドを使用してCOMオブジェクトを生成する必要があります。
ちなみにVBSでは変数の型という概念がないので宣言する必要はありません。 (完全にないわけではありませんが・・・。)

見て解ったかと思いますがVBSでの使い方はVBでの使用時とほとんど同じです。


WMI を本で勉強したい方へ。 Windows PowerShellインアクション を読んでみては?
なかなか WMI のことが乗っている書籍は少ないですが…管理系業務に係る方には楽しめるかも?
パソコンで目が疲れたら、ブルーベリーアイ
『ブルーベリーアイ』1粒中ビルベリーエキス160mg【楽天シニア市場】
 ^ Copyright(C) 1997-2006 とお All rights reserved. <<