オートメーション オブジェクト スクリプトのサンプル使用法
次のスクリプトは、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