Script Center > Gallery > Printing > List Printer Information
TechNet Script Center logo

Welcome to the TechNet Script Center Gallery!

Each contribution is licensed to you under a License Agreement by its owner, not Microsoft. Microsoft does not guarantee the contribution or purport to grant rights to it.

List Printer Information

(Microsoft)
VERIFIED AND TESTED BY THE SCRIPT CENTER TEAM
Rate it:
 
 
 
 
 
Script Code
Python
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
Platforms
Windows Server 2008 R2 No
Windows Server 2008 No
Windows Server 2003 Yes
Windows 7 No
Windows Vista No
Windows XP Yes
Windows 2000 Yes
For online peer support, join The Official Scripting Guys Forum! To provide feedback or report bugs in sample scripts, please start a new discussion on the Discussions tab for this script.
Disclaimer The sample scripts are not supported under any Microsoft standard support program or service. The sample scripts are provided AS IS without warranty of any kind. Microsoft further disclaims all implied warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample scripts and documentation remains with you. In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.
Be the first to create a discussion.