class= " lineNumbers " del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
|
class= del
id= " codeSnippet941526 " class= " del ' lima di testo da leggere da
strReadFile = “C:\computers.txt„
'eccellere la lima per generare
sXLS = “C:\service tags.xls„
Regolare il objFSO = CreateObject (“Scripting.FileSystemObject„)
Regolare il objTS = objFSO.OpenTextFile (strReadFile)
Regolare il objShell = CreateObject (“WScript.Shell„)
Regolare il objExcel = CreateObject (“Excel.Application„)
objExcel.Application.DisplayAlerts = falso
objExcel.Visible = allineano
objExcel.Workbooks.Add
'definire i titoli della colonna
objExcel.Cells (1.1). Valore = “nome di calcolatore„
objExcel.Cells (1.2). Valore = “modello„
objExcel.Cells (1.3). Valore = “modifica di servizio„
xRow = 1
yColumn = 1
'applicare gli stili alle file ed alle colonne
Fanno fino a yColumn = 4
objExcel.Cells (xRow, yColumn). Font.Bold = allineano
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 = allineano
yColumn = yColumn + 1
Ciclo
x = 2
y = 1
'iniziare a leggere dalla lima di testo, fino all'estremità
Fare fino a objTS.AtEndOfStream
strComputer = objTS.ReadLine
'controllare se il computername è pingbale, se non allora saltano dopo per chiamare
Se (IsPingable (strComputer) = allinea) allora
Regolare il objWMIService = GetObject (“winmgmts: „ _
& “{impersonationLevel=impersonate}! \ \„ _
& strComputer & “\ radice \ cimv2„)
Regolare il colComputer = il _ di objWMIService.ExecQuery
(“SELEZIONARE * A PARTIRE da Win32_ComputerSystemProduct„, “da WQL„, 48)
y1 = y
Se Err.number=0 allora
Per ogni objComputer nel colComputer
objExcel.Cells (x, y1). Valore = strComputer
y1 = y1 + 1 'vanno alla colonna seguente
objExcel.Cells (x, y1). Valore = objComputer.Name
y1 = y1 + 1 'vanno alla colonna seguente
objExcel.Cells (x, y1). Valore = objComputer.IdentifyingNumber
x = x + 1 'va alla fila seguente
Dopo
Altrimenti
objExcel.Cells (x, y1). Valore = strComputer
y1 = y1 + 1 'vanno alla colonna seguente
objExcel.Cells (x, y1). Valore = “modello non trovato!„
y1 = y1 + 1 'vanno alla colonna seguente
objExcel.Cells (x, y1). Valore = “pubblicazione periodica non trovata!„
x = x + 1 'va alla fila seguente
Concluder se
Err.clear
Altrimenti
objExcel.Cells (x, y1). Valore = strComputer
y1 = y1 + 1 'vanno alla colonna seguente
objExcel.Cells (x, y1). Valore = “non Pingable„
x = x + 1 'va alla fila seguente
Concluder se
Ciclo
objExcel.Columns (“A: C„). Prescelto
objExcel.Selection.HorizontalAlignment = 3 'si concentrano tutti i dati
objExcel.Selection.Borders.LineStyle = 1 'applicano i bordi
objExcel.Columns (“A: AH„) autofit di .EntireColumn.AutoFit 'tutte le colonne
il appVerInt = ha spaccato (objExcel.Version, “.") (0)
Se appVerInt-Excel2007 >=0 allora
objExcel.ActiveWorkbook.SaveAs (sXLS), 56 'ufficio 2007
Altrimenti
objExcel.ActiveWorkbook.SaveAs (sXLS), 43 'ufficio 2003
Concluder se
objExcel.Quit
regolare il objExcel = niente
objTS.Close
msgbox “fatto!„
WScript.Quit
Funzione IsPingable (strHost di ByVal)
Se "" del <> della disposizione (strHost) allora
strCommand = “Ping.exe - n 3 - w 750„ & strHost
Regolare il objExecObject = il _ di objShell.Exec
titolo di ("%comspec% /c„ & _ dello strHost
& chr (38) & strCommand)
Fare mentre non objExecObject.StdOut.AtEndOfStream
strText = objExecObject.StdOut.ReadLine ()
Se Instr (strText, “TTL=") > 0 _
Allora IsPingable = allinea: L'uscita fa
Ciclo
Se IsPingable = allora allinea
Con GetObject (“winmgmts: radice \ cimv2„)
Per l'ogni objProcess nel _ di .ExecQuery
(“Commandline PRESCELTO _ da Win32_Process„
& “DOVE nome = “ping.exe„„, 48)
Se mandline di objProcess.com = _ dello strCommand
Allora objProcess.Terminate (): Uscire per
Dopo
Estremità con
Concluder se
Concluder se
Se (non IsPingable = allinea) allora IsPingable = falso
Funzione di conclusione
|