Beispiel für die Verwendung eines Automatisierungsobjekt-Skripts
Das folgende Skript stellt eine Verbindung zum Excel-Automatisierungsobjekt her, erstellt eine neue Arbeitsmappe und exportiert eine Liste der Dienste und ihres jeweiligen Status in diese Mappe. Das Skript benötigt Excel und WMI.
Hinweis
Windows Management Instrumentation ist ab Windows 2000 vorinstalliert. Unter Windows 9x und Windows NT muss WMI installiert werden. Download unter: http://go.gfi.com/?pageid=_wmi
Function Main
Dim excel As Object 'Erstellen der vom Skript benötigten Objekte
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-Objekt abrufen, mit dem verschiedene Informationen abgerufen werden können
If wmiobj is Nothing Then
echo ("Fehler 1: WMI-Objekt kann nicht erstellt werden")
Else
Set excel = CreateObject("Excel.application")
'Verbindung mit Excel-Automatisierungsobjekt herstellen
If excel is Nothing Then
Echo("Excel-Objekt kann nicht erstellt werden")
Else
'Excel-Version anzeigen
echo ("Sitzung initialisiert mit Excel-Version "&excel.version)
'Arbeitsmappe einfügen
Set book = excel.workbooks.add
'Arbeitsblatt in Arbeitsmappe einfügen
Set sheet = Book.Worksheets.add
sheet.cells(1,1) = "Dieses Arbeitsblatt wurde mithilfe eines GFI LanGuard-Skripts erstellt"
'Spaltennamen festlegen
sheet.cells(3,1) = "Dienstname"
sheet.cells(3,2) = "Status"
sheet.cells(3,3) = "Gestartet"
'Informationen zu Diensten abrufen
Set wmiinst=wmiobj.instancesof("Win32_Service")
If wmiinst is Nothing Then
echo ("Fehler 2: Informationen zu Diensten können nicht abgerufen werden")
Else
For Each objswbemobject In wmiinst
'sämtliche Dienstobjekte durchlaufen
lnpos = lnpos + 1
sheet.cells(lnpos,1) = objswbemobject.DisplayName
'Informationen zum Dienst in Excel-Arbeitsmappe eintragen
sheet.cells(lnpos,2) = objswbemobject.State
sheet.cells(lnpos,3) = objswbemobject.Started
Next
'Spalten automatisch anpassen
sheet.columns.AutoFit
'Excel-Arbeitsmappe anzeigen
sheet.application.visible = true
End If
End If
End If
End Function