strInputFile = “computers.txt”
strOutputFile = “hard_disk_space.csv”
arrDrives déviles
arrDrives = arsenal (“C”, “D”, “E”, “F”)
Fijar el objFSO = CreateObject (“Scripting.FileSystemObject”)
Const intForReading = 1
Const = 200 adVarChar
Const MaxCharacters = 255
DataList dévil
Fijar DataList = CreateObject (“ADOR.Recordset”)
DataList.Fields.Append “servidor”, adVarChar, MaxCharacters
Para cada uno strDrive en arrDrives
DataList.Fields.Append strDrive y “tamaño”, adVarChar, MaxCharacters
DataList.Fields.Append strDrive y “espacio libre”, adVarChar, MaxCharacters
DataList.Fields.Append strDrive y el “por ciento liberan”, adVarChar, MaxCharacters
Después
DataList.Open
objInputFile determinado = objFSO.OpenTextFile (strInputFile, intForReading)
Mientras que no objInputFile.AtEndOfStream
strComputer = objInputFile.ReadLine
Get_Free_Space_Details (strComputer)
Wend
Fijar objOutputFile = objFSO.CreateTextFile (strOutputFile, verdad)
""" del SERVIDOR del strHeader = del """
Para cada uno strDrive en arrDrives
el strHeader = el strHeader y “, """ y strDrive y” CLASIFICAN el "", el """ y "" del ESPACIO strDrive y el “LIBRE, el """ y el """ LIBRE strDrive y” del POR CIENTO
Después
strHeader de objOutputFile.WriteLine
DataList.MoveFirst
Mientras que no DataList.EOF
strLine = """" y DataList (“servidor”) y """"
Para cada uno strDrive en arrDrives
strLine = strLine y “, """ y DataList (strDrive y” tamaño ") y """, """ y espacio strDrive y “libre” de DataList () y """, """ y DataList (strDrive y” el por ciento liberar ") y """"
Después
strLine de objOutputFile.WriteLine
DataList.MoveNext
Wend
DataList.Close
objOutputFile.Close
MsgBox “hecho. Ver por favor” y strOutputFile
'==============
Get_Free_Space_Details secundario (strComputer)
DataList.AddNew
DataList (“servidor”) = strComputer
Si el silbido de bala (strComputer) = entonces verdad
En curriculum vitae del error después
Fijar el objWMIService = GetObject (“winmgmts: ¡{impersonationLevel=impersonate}! \ \” y strComputer y “\ raíz \ cimv2”)
Si Err.Number = 0 entonces
Err.Clear
En el error 0 indicado
Para cada uno strDrive en arrDrives
Fijar los colDisks = objWMIService.ExecQuery (“FreeSpace selecto, tamaño de Win32_LogicalDisk donde DriveType = 3 y DeviceID = “” y strDrive y “: ” ")
Para cada objDisk en colDisks
intFreeSpace = objDisk.FreeSpace
intTotalSpace = objDisk.Size
pctFreeSpace = intFreeSpace/intTotalSpace
DataList (strDrive y “tamaño”) = redondo (intTotalSpace/1024/1024/1024, 2) y” GB "
Espacio strDrive y “libre” de DataList () = redondo (intFreeSpace/1024/1024/1024, 2) y” GB "
DataList (strDrive y el “por ciento liberar”) = FormatPercent (pctFreeSpace)
Después
Después
Fijar el objDisk = nada
Fijar los colDisks = nada
Fijar el objWMIService = nada
Para cada uno strDrive en arrDrives
DataList (strDrive y “tamaño”) = “ERROR de WMI”
Espacio strDrive y “libre” de DataList () = “ERROR de WMI”
DataList (strDrive y el “por ciento liberar”) = “ERROR de WMI”
Después
Terminar si
Para cada uno strDrive en arrDrives
DataList (strDrive y “tamaño”) = “FUERA DE LÍNEA”
Espacio strDrive y “libre” de DataList () = “FUERA DE LÍNEA”
DataList (strDrive y el “por ciento liberar”) = “FUERA DE LÍNEA”
Después
Terminar si
DataList.Update
Terminar el submarino
Silbido de bala de la función (strComputer)
objShell dévil, boolCode
Fijar el objShell = CreateObject (“WScript.Shell”)
boolCode = objShell.Run (“silbido de bala - n 1 - w 300” y strComputer, 0, verdades)
Si boolCode = 0 entonces
El silbido de bala = verdad
Silbido de bala = falso
Terminar si
Terminar la función
|