class= " lineNumbers " de
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= de
id= " codeSnippet941526 " class= " de ' dossier des textes à lire de
strReadFile = « C:\computers.txt »
'exceler le dossier pour créer
sXLS = « C:\service tags.xls »
Placer l'objFSO = le CreateObject (« Scripting.FileSystemObject »)
Placer l'objTS = l'objFSO.OpenTextFile (strReadFile)
Placer l'objShell = le CreateObject (« WScript.Shell »)
Placer l'objExcel = le CreateObject (« Excel.Application »)
objExcel.Application.DisplayAlerts = faux
objExcel.Visible = rectifient
objExcel.Workbooks.Add
'définir les titres de colonne
objExcel.Cells (1.1). Valeur = « nom d'ordinateur »
objExcel.Cells (1.2). Valeur = « modèle »
objExcel.Cells (1.3). Valeur = « étiquette de service »
xRow = 1
yColumn = 1
's'appliquer les modèles aux rangées et aux colonnes
Font jusqu'au yColumn = 4
objExcel.Cells (xRow, yColumn). Font.Bold = rectifient
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 = rectifient
yColumn = yColumn + 1
Boucle
X = 2
y = 1
'commencer à lire à partir du dossier des textes, jusqu'à l'extrémité
Faire jusqu'à objTS.AtEndOfStream
strComputer = objTS.ReadLine
'vérifier si le computername est pingbale, sinon sautent alors pour appeler après
Si (IsPingable (strComputer) = rectifient) puis
Placer l'objWMIService = le GetObject (« winmgmts : » _
et « {impersonationLevel=impersonate} ! \ \ » _
et strComputer et « \ racine \ cimv2 »)
Placer le colComputer = le _ d'objWMIService.ExecQuery
(« CHOISIR * À PARTIR de Win32_ComputerSystemProduct », de « WQL », 48)
y1 = y
Si Err.number=0 alors
Pour chaque objComputer dans le colComputer
objExcel.Cells (x, y1). Valeur = strComputer
y1 = y1 + 1 'vont à la prochaine colonne
objExcel.Cells (x, y1). Valeur = objComputer.Name
y1 = y1 + 1 'vont à la prochaine colonne
objExcel.Cells (x, y1). Valeur = objComputer.IdentifyingNumber
X = x + 1 'vont à la prochaine rangée
Après
Autrement
objExcel.Cells (x, y1). Valeur = strComputer
y1 = y1 + 1 'vont à la prochaine colonne
objExcel.Cells (x, y1). Valeur = « modèle non trouvé ! »
y1 = y1 + 1 'vont à la prochaine colonne
objExcel.Cells (x, y1). Valeur = « publication périodique non trouvée ! »
X = x + 1 'vont à la prochaine rangée
Finir si
Err.clear
Autrement
objExcel.Cells (x, y1). Valeur = strComputer
y1 = y1 + 1 'vont à la prochaine colonne
objExcel.Cells (x, y1). Valeur = « pas Pingable »
X = x + 1 'vont à la prochaine rangée
Finir si
Boucle
objExcel.Columns (« A : C »). Choisi
objExcel.Selection.HorizontalAlignment = 3 'centrent toutes les données
objExcel.Selection.Borders.LineStyle = 1 'appliquent des frontières
objExcel.Columns (« A : OH ») autofit de .EntireColumn.AutoFit 'toutes les colonnes
l'appVerInt = s'est dédoublé (objExcel.Version, « .") (0)
Si appVerInt-Excel2007 >=0 alors
objExcel.ActiveWorkbook.SaveAs (sXLS), 56 'bureau 2007
Autrement
objExcel.ActiveWorkbook.SaveAs (sXLS), 43 'bureau 2003
Finir si
objExcel.Quit
placer l'objExcel = rien
objTS.Close
msgbox « fait ! »
WScript.Quit
Fonction IsPingable (strHost de ByVal)
Si "" de <> d'équilibre (strHost) alors
strCommand = « Ping.exe - n 3 - W 750 » et strHost
Placer l'objExecObject = le _ d'objShell.Exec
titre de ("%comspec% /c » et _ de strHost
et chr (38) et strCommand)
Faire tandis que pas objExecObject.StdOut.AtEndOfStream
strText = objExecObject.StdOut.ReadLine ()
S'Instr (strText, « TTL=") > 0 _
Puis IsPingable = rectifient : La sortie font
Boucle
S'IsPingable = rectifient alors
Avec GetObject (« winmgmts : racine \ cimv2 »)
Pour le chaque objProcess dans le _ de .ExecQuery
(« Commandline CHOISI _ de Win32_Process »
et « OÙ nom = « ping.exe » », 48)
Si mandline d'objProcess.com = _ de strCommand
Puis objProcess.Terminate () : Sortir pour
Après
Extrémité avec
Finir si
Finir si
Si (pas IsPingable = rectifient) puis IsPingable = faux
Fonction de fin
|