' ============================================================
' GetPrinterReport.vbs
'
' Reports Printers via WMI (Win32_Printer).
'
' Usage: cscript GetPrinterReport.vbs
' ============================================================

Option Explicit

Dim objWMIService, colItems, objItem, strOutput

Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("SELECT Name, DriverName, PortName, PrinterStatus FROM Win32_Printer")

strOutput = ""
For Each objItem In colItems
    strOutput = strOutput & "Name: " & objItem.Name & vbCrLf
    strOutput = strOutput & "DriverName: " & objItem.DriverName & vbCrLf
    strOutput = strOutput & "PortName: " & objItem.PortName & vbCrLf
    strOutput = strOutput & "PrinterStatus: " & objItem.PrinterStatus & vbCrLf
    strOutput = strOutput & String(40, "-") & vbCrLf
Next

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