This version has trivial changes but it handles drive arrays up to 99 TB.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery _
("Select * from Win32_LogicalDisk where drivetype <> 5")
WScript.Echo "Name Capacity Free Free %"
For each objDisk in colDisks
percentfree = (objdisk.Freespace / objdisk.Size) * 100
With objDisk
WScript.Echo .DeviceId & " " & pad(FormatNumber(.Size/1073741824, 2)) & " " & pad(FormatNumber(.Freespace/1073741824, 2)) & " " & FormatNumber(percentfree, 2)
End With
Next
function pad(strText)
strText = Space(10) + strText
strText = Right(strText, 9)
pad = strText
end function