#Lists information about all the printers connected to a print server.
import win32com.client
strComputer = "."
objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")
objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2")
colItems = objSWbemServices.ExecQuery("Select * from Win32_Printer")
for objItem in colItems:
print "Attributes: ", objItem.Attributes
print "Availability: ", objItem.Availability
z = objItem.AvailableJobSheets
if z is None:
a = 1
else:
for x in z:
print "Available Job Sheets: ", x
print "Average Pages Per Minute: ", objItem.AveragePagesPerMinute
z = objItem.Capabilities
if z is None:
a = 1
else:
for x in z:
print "Capabilities: ", x
z = objItem.CapabilityDescriptions
if z is None:
a = 1
else:
for x in z:
print "Capability Descriptions: ", x
print "Caption: ", objItem.Caption
z = objItem.CharSetsSupported
if z is None:
a = 1
else:
for x in z:
print "Char Sets Supported: ", x
print "Comment: ", objItem.Comment
print "Config Manager Error Code: ", objItem.ConfigManagerErrorCode
print "Config Manager User Config: ", objItem.ConfigManagerUserConfig
print "Creation Class Name: ", objItem.CreationClassName
z = objItem.CurrentCapabilities
if z is None:
a = 1
else:
for x in z:
print "Current Capabilities: ", x
print "Current Char Set: ", objItem.CurrentCharSet
print "Current Language: ", objItem.CurrentLanguage
print "Current Mime Type: ", objItem.CurrentMimeType
print "Current Natural Language: ", objItem.CurrentNaturalLanguage
print "Current Paper Type: ", objItem.CurrentPaperType
print "Default: ", objItem.Default
z = objItem.DefaultCapabilities
if z is None:
a = 1
else:
for x in z:
print "Default Capabilities: ", x
print "Default Copies: ", objItem.DefaultCopies
print "Default Language: ", objItem.DefaultLanguage
print "Default Mime Type: ", objItem.DefaultMimeType
print "Default Number Up: ", objItem.DefaultNumberUp
print "Default Paper Type: ", objItem.DefaultPaperType
print "Default Priority: ", objItem.DefaultPriority
print "Description: ", objItem.Description
print "Detected Error State: ", objItem.DetectedErrorState
print "Device ID: ", objItem.DeviceID
print "Direct: ", objItem.Direct
print "Do Complete First: ", objItem.DoCompleteFirst
print "Driver Name: ", objItem.DriverName
print "Enable BIDI: ", objItem.EnableBIDI
print "Enable Dev Query Print: ", objItem.EnableDevQueryPrint
print "Error Cleared: ", objItem.ErrorCleared
print "Error Description: ", objItem.ErrorDescription
z = objItem.ErrorInformation
if z is None:
a = 1
else:
for x in z:
print "Error Information: ", x
print "Extended Detected Error State: ", objItem.ExtendedDetectedErrorState
print "Extended Printer Status: ", objItem.ExtendedPrinterStatus
print "Hidden: ", objItem.Hidden
print "Horizontal Resolution: ", objItem.HorizontalResolution
print "Install Date: ", objItem.InstallDate
print "Job Count Since Last Reset: ", objItem.JobCountSinceLastReset
print "Keep Printed Jobs: ", objItem.KeepPrintedJobs
z = objItem.LanguagesSupported
if z is None:
a = 1
else:
for x in z:
print "Languages Supported: ", x
print "Last Error Code: ", objItem.LastErrorCode
print "Local: ", objItem.Local
print "Location: ", objItem.Location
print "Marking Technology: ", objItem.MarkingTechnology
print "Max Copies: ", objItem.MaxCopies
print "Max Number Up: ", objItem.MaxNumberUp
print "Max Size Supported: ", objItem.MaxSizeSupported
z = objItem.MimeTypesSupported
if z is None:
a = 1
else:
for x in z:
print "Mime Types Supported: ", x
print "Name: ", objItem.Name
z = objItem.NaturalLanguagesSupported
if z is None:
a = 1
else:
for x in z:
print "Natural Languages Supported: ", x
print "Network: ", objItem.Network
z = objItem.PaperSizesSupported
if z is None:
a = 1
else:
for x in z:
print "Paper Sizes Supported: ", x
z = objItem.PaperTypesAvailable
if z is None:
a = 1
else:
for x in z:
print "Paper Types Available: ", x
print "Parameters: ", objItem.Parameters
print "PNP Device ID: ", objItem.PNPDeviceID
print "Port Name: ", objItem.PortName
z = objItem.PowerManagementCapabilities
if z is None:
a = 1
else:
for x in z:
print "Power Management Capabilities: ", x
print "Power Management Supported: ", objItem.PowerManagementSupported
z = objItem.PrinterPaperNames
if z is None:
a = 1
else:
for x in z:
print "Printer Paper Names: ", x
print "Printer State: ", objItem.PrinterState
print "Printer Status: ", objItem.PrinterStatus
print "Print Job Data Type: ", objItem.PrintJobDataType
print "Print Processor: ", objItem.PrintProcessor
print "Priority: ", objItem.Priority
print "Published: ", objItem.Published
print "Queued: ", objItem.Queued
print "Raw Only: ", objItem.RawOnly
print "Separator File: ", objItem.SeparatorFile
print "Server Name: ", objItem.ServerName
print "Shared: ", objItem.Shared
print "Share Name: ", objItem.ShareName
print "Spool Enabled: ", objItem.SpoolEnabled
print "Start Time: ", objItem.StartTime
print "Status: ", objItem.Status
print "Status Info: ", objItem.StatusInfo
print "System Creation Class Name: ", objItem.SystemCreationClassName
print "System Name: ", objItem.SystemName
print "Time Of Last Reset: ", objItem.TimeOfLastReset
print "Until Time: ", objItem.UntilTime
print "Vertical Resolution: ", objItem.VerticalResolution
print "Work Offline: ", objItem.WorkOffline
print "-------------------------------------------------------"