Contact Info

Crumbtrail » Administration » Scripts » WMI Performance Counters » VBScript

Printer - WMI sample in VBScript

The foundations for Manageability in Windows 2019/2012/2008/ and Windows 10/8/7/Vista/XP are Windows Management Instrumentation (WMI; formerly WBEM) and WMI extensions for Windows Driver Model (WDM).

ActiveXperts Network Monitor provides the ability to build monitor check routines based on WMI. ActiveXperts has collected more than a hundred WMI samples. You can use these samples as a base for new check routines you can write yourself.

On this site, you can find many WMI samples.

The Printer WMI class can be used in ActiveXperts Network Monitor to monitor your servers.



Set objWMIService = GetObject("winmgmts:\\.\root\StandardCimv2")

Set colItems = objWMIService.ExecQuery("Select * From MSFT_Printer")

For Each objItem in colItems
	WScript.Echo "Caption:" & objItem.Caption
	WScript.Echo "Comment:" & objItem.Comment
	WScript.Echo "CommunicationStatus:" & objItem.CommunicationStatus
	WScript.Echo "ComputerName:" & objItem.ComputerName
	WScript.Echo "Datatype:" & objItem.Datatype
	WScript.Echo "DefaultJobPriority:" & objItem.DefaultJobPriority
	WScript.Echo "Description:" & objItem.Description
	WScript.Echo "DetailedStatus:" & objItem.DetailedStatus
	WScript.Echo "DriverName:" & objItem.DriverName
	WScript.Echo "ElementName:" & objItem.ElementName
	WScript.Echo "HealthState:" & objItem.HealthState
	WScript.Echo "InstallDate:" & objItem.InstallDate
	WScript.Echo "InstanceID:" & objItem.InstanceID
	WScript.Echo "JobCount:" & objItem.JobCount
	WScript.Echo "KeepPrintedJobs:" & objItem.KeepPrintedJobs
	WScript.Echo "Location:" & objItem.Location
	WScript.Echo "Name:" & objItem.Name
	WScript.Echo "OperatingStatus:" & objItem.OperatingStatus
	WScript.Echo "OperationalStatus:" & Join(objItem.OperationalStatus)
	WScript.Echo "PermissionSDDL:" & objItem.PermissionSDDL
	WScript.Echo "PortName:" & objItem.PortName
	WScript.Echo "PrimaryStatus:" & objItem.PrimaryStatus
	WScript.Echo "PrinterStatus:" & objItem.PrinterStatus
	WScript.Echo "PrintProcessor:" & objItem.PrintProcessor
	WScript.Echo "Priority:" & objItem.Priority
	WScript.Echo "Published:" & objItem.Published
	WScript.Echo "RenderingMode:" & objItem.RenderingMode
	WScript.Echo "SeparatorPageFile:" & objItem.SeparatorPageFile
	WScript.Echo "Shared:" & objItem.Shared
	WScript.Echo "ShareName:" & objItem.ShareName
	WScript.Echo "StartTime:" & objItem.StartTime
	WScript.Echo "Status:" & objItem.Status
	WScript.Echo "StatusDescriptions:" & Join(objItem.StatusDescriptions)
	WScript.Echo "Type:" & objItem.Type
	WScript.Echo "UntilTime:" & objItem.UntilTime
	WScript.Echo ""
	WScript.Echo "########"
	WScript.Echo ""