' ============================================================
' GetLogicalDiskReport.vbs
'
' Reports Logical Disks via WMI (Win32_LogicalDisk).
'
' Usage: cscript GetLogicalDiskReport.vbs
' ============================================================

Option Explicit

Dim objWMIService, colItems, objItem, strOutput

Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("SELECT DeviceID, VolumeName, Size, FreeSpace, DriveType FROM Win32_LogicalDisk")

strOutput = ""
For Each objItem In colItems
    strOutput = strOutput & "DeviceID: " & objItem.DeviceID & vbCrLf
    strOutput = strOutput & "VolumeName: " & objItem.VolumeName & vbCrLf
    strOutput = strOutput & "Size: " & objItem.Size & vbCrLf
    strOutput = strOutput & "FreeSpace: " & objItem.FreeSpace & vbCrLf
    strOutput = strOutput & "DriveType: " & objItem.DriveType & vbCrLf
    strOutput = strOutput & String(40, "-") & vbCrLf
Next

If strOutput = "" Then
    WScript.Echo "No Logical Disks found."
Else
    WScript.Echo strOutput
End If