Vraag : VB manuscript om schijf van naam en grootte en vrije ruimte een lijst te maken

Hallo hebben allen,

I een tekstdossier dat ongeveer 200 servernamen heeft. Ik heb een vbscript in het tekstdossier te lezen en een rapport te produceren over de fysieke schijfgrootte en de vrije ruimte voor elke hulp server.

Please!

Thanks

Antwoord : VB manuscript om schijf van naam en grootte en vrije ruimte een lijst te maken

LOL! Ik dacht u dat zou kunnen vragen.  Zo had ik een re-blik bij mijn code, en ik heb nu het dynamischer gemaakt, waar u slechts de aandrijvingsbrieven moet specificeren u in arrDrives wilt.  U kunt zo vele aandrijvingsbrieven toevoegen of aftrekken aangezien u dit wenst.

Achting,

Rob.
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:
strInputFile = „computers.txt“
strOutputFile = „hard_disk_space.csv“
Schemerige arrDrives
arrDrives = Serie („C“, „D“, „E“, „F“)

Reeks objFSO = CreateObject („Scripting.FileSystemObject“)
Const die = 1 intForReading

adVarChar Const = 200
Const MaxCharacters = 255


Schemerige DataList
Vastgestelde DataList = CreateObject („ADOR.Recordset“)
DataList.Fields.Append „Server“, adVarChar, MaxCharacters
Voor elk strDrive in arrDrives
	strDrive DataList.Fields.Append & „Grootte“, adVarChar, MaxCharacters
	strDrive & „Vrije Ruimte“ van DataList.Fields.Append, adVarChar, MaxCharacters
	strDrive DataList.Fields.Append & „Vrije Percenten“, adVarChar, MaxCharacters
Daarna
DataList.Open

Vastgestelde objInputFile = objFSO.OpenTextFile (strInputFile, intForReading)
Terwijl niet objInputFile.AtEndOfStream
	strComputer = objInputFile.ReadLine
	Get_Free_Space_Details (strComputer)
Wend

Vastgestelde objOutputFile = objFSO.CreateTextFile (strOutputFile, Waar)
strHeader = """ SERVER """
Voor elk strDrive in arrDrives
	strHeader = strHeader & „, """ & strDrive &“ GROOTTE "", """ & strDrive & „VRIJE RUIMTE"", """ & strDrive &“ PERCENTEN VRIJE """
Daarna
objOutputFile.WriteLine strHeader
DataList.MoveFirst
Terwijl niet DataList.EOF
	strLine = """" & DataList („Server“) & """"
	Voor elk strDrive in arrDrives
		strLine = strLine & „, """ & strDrive DataList (&“ Grootte ") & """, """ & van DataList (strDrive & „Vrije Ruimte“) & """, strDrive """ & DataList (&“ Vrije Percenten ") & """"
	Daarna
	strLine objOutputFile.WriteLine
	DataList.MoveNext
Wend
DataList.Close
objOutputFile.Close

Gedaane MsgBox „. Gelieve te zien“ & strOutputFile
'==============

Sub Get_Free_Space_Details (strComputer)

	DataList.AddNew
	DataList („Server“) = strComputer
	Als (strComputer) = Waar toen pingel 
		Op Fout hervat daarna
		Plaats objWMIService = GetObject („winmgmts: {impersonationLevel=impersonate}! \ \“ & strComputer & „\ wortel \ cimv2“)
		Als Err.Number = 0 toen
			Err.Clear
			Op Fout GoTo 0
			Voor elk strDrive in arrDrives
				Reeks colDisks = objWMIService.ExecQuery („Uitgezochte FreeSpace, Grootte van Win32_LogicalDisk waar DriveType = 3 en DeviceID = „“ & strDrive & „: “ „)
				Voor Elke objDisk in colDisks
					intFreeSpace = objDisk.FreeSpace
					intTotalSpace = objDisk.Size
					pctFreeSpace = intFreeSpace/intTotalSpace
					strDrive DataList (& „Grootte“) = Ronde (intTotalSpace/1024/1024/1024, 2) &“ GB "
					De strDrive & „Vrije Ruimte“ van DataList () = Ronde (intFreeSpace/1024/1024/1024, 2) &“ GB "
					strDrive DataList (& „Vrije Percenten“) = FormatPercent (pctFreeSpace)
				Daarna
			Daarna			
			Reeks objDisk = niets
			Reeks colDisks = niets
			Vastgestelde objWMIService = niets
		Anders
			Voor elk strDrive in arrDrives
				strDrive DataList (& „Grootte“) = „FOUT WMI“
				De strDrive & „Vrije Ruimte“ van DataList () = „FOUT WMI“
				strDrive DataList (& „Vrije Percenten“) = „FOUT WMI“
			Daarna
		Eind als
	Anders
		Voor elk strDrive in arrDrives
			strDrive DataList (& „Grootte“) = „OFFLINE“
			De strDrive & „Vrije Ruimte“ van DataList () = „OFFLINE“
			strDrive DataList (& „Vrije Percenten“) = „OFFLINE“
		Daarna
	Eind als
	DataList.Update
Sub van het eind

De functie pingelt (strComputer)
	Schemerige objShell, boolCode
	Reeks objShell = CreateObject („WScript.Shell“)
	boolCode = objShell.Run („pingel - n 1 - w 300“ & strComputer, Ware 0,)
	Als boolCode = 0 toen
		Pingel = Waar
	Anders
		Pingel = Vals
	Beëindig als
Beëindig Functie
Andere oplossingen  
 
programming4us programming4us