' Textdatei, zum von zu lesen
strReadFile = „C:\computers.txt“
'Akte übertreffen, um zu verursachen
sXLS = „C:\service tags.xls“
objFSO = CreateObject („Scripting.FileSystemObject“) einstellen
Das objTS = objFSO.OpenTextFile (strReadFile) einstellen
objShell = CreateObject („WScript.Shell“) einstellen
objExcel = CreateObject („Excel.Application“) einstellen
objExcel.Application.DisplayAlerts = falsch
objExcel.Visible = richten aus
objExcel.Workbooks.Add
'die Spaltentitel definieren
objExcel.Cells (1.1). Wert = „Computerbezeichnung“
objExcel.Cells (1.2). Wert = „Modell“
objExcel.Cells (1.3). Wert = „Service-Umbau“
xRow = 1
yColumn = 1
'Arten an den Reihen und an den Spalten anwenden
Bis yColumn = tun 4
objExcel.Cells (xRow, yColumn). Font.Bold = richten aus
objExcel.Cells (xRow, yColumn). Font.Size = 11
objExcel.Cells (xRow, yColumn). Interior.ColorIndex = 11
objExcel.Cells (xRow, yColumn). Interior.Pattern = 1
objExcel.Cells (xRow, yColumn). Font.ColorIndex = 2
objExcel.Cells (xRow, yColumn). Borders.LineStyle = 1
objExcel.Cells (xRow, yColumn) .WrapText = richten aus
yColumn = yColumn + 1
Schleife
x = 2
y = 1
'anfangen, von der Textdatei, bis das Ende zu lesen
Bis objTS.AtEndOfStream tun
strComputer = objTS.ReadLine
'überprüfen, ob die Computerbezeichnung pingbale ist, wenn nicht dann Zeilensprung zum folgenden Namen
Wenn (IsPingable (strComputer) = richten) aus, dann
objWMIService = GetObject einstellen („winmgmts: “ _
u. „{impersonationLevel=impersonate}! \ \“ _
u. strComputer u. „\ Wurzel \ cimv2“)
colComputer = objWMIService.ExecQuery _ einstellen
(„* von Win32_ComputerSystemProduct“, „von WQL“, 48 VORWÄHLEN)
y1 = y
Wenn Err.number=0 dann
Für jedes objComputer im colComputer
objExcel.Cells (x, y1). Wert = strComputer
y1 = y1 + 1 'gehen zur folgenden Spalte
objExcel.Cells (x, y1). Wert = objComputer.Name
y1 = y1 + 1 'gehen zur folgenden Spalte
objExcel.Cells (x, y1). Wert = objComputer.IdentifyingNumber
x = x + 1 'gehen zur folgenden Reihe
Zunächst
Sonst
objExcel.Cells (x, y1). Wert = strComputer
y1 = y1 + 1 'gehen zur folgenden Spalte
objExcel.Cells (x, y1). Wert = „Modell nicht gefunden!“
y1 = y1 + 1 'gehen zur folgenden Spalte
objExcel.Cells (x, y1). Wert = „Serie nicht gefunden!“
x = x + 1 'gehen zur folgenden Reihe
Beenden wenn
Err.clear
Sonst
objExcel.Cells (x, y1). Wert = strComputer
y1 = y1 + 1 'gehen zur folgenden Spalte
objExcel.Cells (x, y1). Wert = „nicht Pingable“
x = x + 1 'gehen zur folgenden Reihe
Beenden wenn
Schleife
objExcel.Columns („A: C“). Auserwählt
objExcel.Selection.HorizontalAlignment = 3 'zentrieren alle Daten
objExcel.Selection.Borders.LineStyle = 1 'wenden Ränder an
objExcel.Columns („A: AH“) .EntireColumn.AutoFit 'autofit alle Spalten
appVerInt = spaltete auf sich (objExcel.Version, „.") (0)
Wenn appVerInt-Excel2007 >=0 dann
objExcel.ActiveWorkbook.SaveAs (sXLS), 56 'Büro 2007
Sonst
objExcel.ActiveWorkbook.SaveAs (sXLS), 43 'Büro 2003
Beenden wenn
objExcel.Quit
objExcel einstellen = nichts
objTS.Close
msgbox „erfolgt!“
WScript.Quit
Funktion IsPingable (ByVal strHost)
Wenn Ordnung (strHost) <> "" dann
strCommand = „Ping.exe - n 3 - w 750“ u. strHost
objExecObject = objShell.Exec _ einstellen
(„%comspec% /c Titel“ u. strHost _
u. chr (38) u. strCommand)
Tun während nicht objExecObject.StdOut.AtEndOfStream
strText = objExecObject.StdOut.ReadLine ()
Wenn Instr (strText, „TTL=") > 0 _
Dann richten IsPingable = aus: Ausgang tun
Schleife
Wenn IsPingable = dann ausrichten
Mit GetObject („winmgmts: Wurzel \ cimv2“)
Für jedes objProcess im .ExecQuery _
(„AUSERWÄHLTES commandline VON Win32_Process“ _
u. „, WO Name = „ping.exe““, 48)
Wenn objProcess.com mandline = strCommand _
Dann objProcess.Terminate (): Für herausnehmen
Zunächst
Ende mit
Beenden wenn
Beenden wenn
Wenn (nicht IsPingable = richten) aus, dann IsPingable = falsch
Enden-Funktion
|