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”,
Dunkla arrDrives
arrDrives = samling (”C”, ”D”, ”E”, ”F”)
Fastställd objFSO = CreateObject (”Scripting.FileSystemObject”)
Const som intForReading = 1
Const adVarChar = 200
Const MaxCharacters = 255
Dunkla DataList
Fastställda DataList = CreateObject (”ADOR.Recordset”)
DataList.Fields.Append ”server” som är adVarChar, MaxCharacters
För varje som är strDrive i arrDrives
strDrive DataList.Fields.Append & ”storleksanpassar”, adVarChar, MaxCharacters
strDrive DataList.Fields.Append & ”fritt utrymme” som är adVarChar, MaxCharacters
strDrive DataList.Fields.Append & ”procent frigör”, adVarChar, MaxCharacters
Därefter
DataList.Open
Fastställdt objInputFile = objFSO.OpenTextFile (strInputFile och att intForReading),
Stunder inte objInputFile.AtEndOfStream
strComputer = objInputFile.ReadLine
Get_Free_Space_Details (strComputer)
Wend
Fastställdt objOutputFile = objFSO.CreateTextFile (strOutputFile, riktigt)
strHeader- = """ SERVER""",
För varje som är strDrive i arrDrives
strHeader = strHeader & ”, """ & strDrive &” STORLEKSANPASSAR "", """ & strDrive & ”FRI UTRYMME"", """ & strDrive &” för PROCENT FRI """,
Därefter
objOutputFile.WriteLine-strHeader
DataList.MoveFirst
Stunder inte DataList.EOF
strLine = """" & DataList (”server”) & """",
För varje som är strDrive i arrDrives
strLine = strLine & ”, strDrive """ & DataList (&” storleksanpassa ") & """, """ & DataList (strDrive & ”fritt utrymme”) & fria strDrive &” procent """, """ & DataList (") & """",
Därefter
objOutputFile.WriteLine-strLine
DataList.MoveNext
Wend
DataList.Close
objOutputFile.Close
Gjorda MsgBox ”. Behaga ser” & strOutputFile
'==============
UnderGet_Free_Space_Details (strComputer)
DataList.AddNew
DataList (”server”) = strComputer
Om pingen (strComputer) = True därefter
På felmeritförteckning därefter
Fastställd objWMIService = GetObject (”winmgmts: {impersonationLevel=impersonate}! \ \” & strComputer & ”\ rotar \ cimv2”)
Om Err.Number = 0 därefter
Err.Clear
På fel GoTo 0
För varje som är strDrive i arrDrives
Fastställda colDisks = objWMIService.ExecQuery (”valda FreeSpace, storleksanpassar från Win32_LogicalDisk var DriveType = 3 och DeviceID = ”” & strDrive & ”: ” ”)
För varje objDisk i colDisks
intFreeSpace = objDisk.FreeSpace
intTotalSpace = objDisk.Size
pctFreeSpace = intFreeSpace/intTotalSpace
strDrive DataList (& ”storleksanpassa”), = runda (intTotalSpace/1024/1024/1024, 2) &” GB ",
DataList (strDrive & ”fritt utrymme”) = runda (intFreeSpace/1024/1024/1024, 2) &” GB ",
strDrive & ”procent DataList (frigör”), = FormatPercent (pctFreeSpace)
Därefter
Därefter
Fastställd objDisk = ingenting
Fastställda colDisks = ingenting
Fastställd objWMIService = ingenting
Annars
För varje som är strDrive i arrDrives
strDrive DataList (& ”storleksanpassa”), = ”WMI-FEL”,
DataList (strDrive & ”fritt utrymme”) = ”WMI-FEL”,
strDrive & ”procent DataList (frigör”), = ”WMI-FEL”,
Därefter
Avsluta om
Annars
För varje som är strDrive i arrDrives
strDrive DataList (& ”storleksanpassa”), = ”OFFLINE”,
DataList (strDrive & ”fritt utrymme”) = ”OFFLINE”,
strDrive & ”procent DataList (frigör”), = ”OFFLINE”,
Därefter
Avsluta om
DataList.Update
Avsluta suben
Fungera pingen (strComputer)
Dunkel objShell, boolCode
Fastställd objShell = CreateObject (”WScript.Shell”)
boolCode = objShell.Run (”Ping - n 1 - w 300” & strComputer, 0 som, är riktiga)
Om boolCode = 0 därefter
Pingen = True
Annars
Ping = falskt
Avsluta om
Avsluta fungerar
|