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
|