オートメーション オブジェクト スクリプトのサンプル使用法

次のスクリプトは、Excel オートメーション オブジェクトと接続して、新しいシートを作成し、サービスとそのステータスのリストをエクスポートします。 このスクリプトでは Excel と WMI が必要になります。

注意

Windows Management Instrumentation は Windows 2000 以上に事前にインストールされています。 Windows 9x と Windows NT 上にインストールする必要があります。ダウンロード リンク: http://go.gfi.com/?pageid=_wm

Function Main

Dim excel As Object 'Creation of objects needed by the script

Dim book As Object

Dim sheet As Object

Dim range As Object

Dim columns As Object

Dim wmiobj As Object

Dim objswbemobject As Object

strComputer = "127.0.0.1"

Set wmiobj = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

' さまざまな情報が得られる wmi オブジェクトの取得

If wmiobj is Nothing Then

echo ("Error1 Unable to create WMI Object")

Else

Set excel = CreateObject("Excel.application")

' Excel オートメーション オブジェクトに接続中

If excel is Nothing Then

Echo("Unable to create Excel Object")

Else

' Excel のバージョンを表示

echo ("initalised session with Excel Version "&excel.version)

' ブックを追加

Set book = excel.workbooks.add

' ワークシートをブックに追加

Set sheet = Book.Worksheets.add

sheet.cells(1,1) = "This Sheet has been generated from with a GFI LanGuard Script"

' 列名を設定

sheet.cells(3,1) = "Service Name"

sheet.cells(3,2) = "State"

sheet.cells(3,3) = "Started"

' サービス情報を取得

Set wmiinst=wmiobj.instancesof("Win32_Service")

If wmiinst is Nothing Then

echo ("error2: Unable to retrieve services information")

Else

lnpos = 4

For Each objswbemobject In wmiinst

' すべてのサービス オブジェクトをループ

lnpos = lnpos + 1

sheet.cells(lnpos,1) = objswbemobject.DisplayName

' サービス情報を Excel シートに入力

sheet.cells(lnpos,2) = objswbemobject.State

sheet.cells(lnpos,3) = objswbemobject.Started

Next

' 列の自動調整

sheet.columns.AutoFit

' Excel シートを表示

sheet.application.visible = true

End If

End If

End If

End Function