Win32_Printer class
The Win32_Printer WMI class represents a device connected to a computer running on a Microsoft Windows operating system that can produce a printed image or text on paper or other medium.
The following syntax is simplified from Managed Object Format (MOF) code and includes all of the inherited properties.
Syntax
class Win32_Printer : CIM_Printer
{
uint32 Attributes;
uint16 Availability;
string AvailableJobSheets[];
uint32 AveragePagesPerMinute;
uint16 Capabilities[];
string CapabilityDescriptions[];
string Caption;
string CharSetsSupported[];
string Comment;
uint32 ConfigManagerErrorCode;
boolean ConfigManagerUserConfig;
string CreationClassName;
uint16 CurrentCapabilities[];
string CurrentCharSet;
uint16 CurrentLanguage;
string CurrentMimeType;
string CurrentNaturalLanguage;
string CurrentPaperType;
boolean Default;
uint16 DefaultCapabilities[];
uint32 DefaultCopies;
uint16 DefaultLanguage;
string DefaultMimeType;
uint32 DefaultNumberUp;
string DefaultPaperType;
uint32 DefaultPriority;
string Description;
uint16 DetectedErrorState;
string DeviceID;
boolean Direct;
boolean DoCompleteFirst;
string DriverName;
boolean EnableBIDI;
boolean EnableDevQueryPrint;
boolean ErrorCleared;
string ErrorDescription;
string ErrorInformation[];
uint16 ExtendedDetectedErrorState;
uint16 ExtendedPrinterStatus;
boolean Hidden;
uint32 HorizontalResolution;
datetime InstallDate;
uint32 JobCountSinceLastReset;
boolean KeepPrintedJobs;
uint16 LanguagesSupported[];
uint32 LastErrorCode;
boolean Local;
string Location;
uint16 MarkingTechnology;
uint32 MaxCopies;
uint32 MaxNumberUp;
uint32 MaxSizeSupported;
string MimeTypesSupported[];
string Name;
string NaturalLanguagesSupported[];
boolean Network;
uint16 PaperSizesSupported[];
string PaperTypesAvailable[];
string Parameters;
string PNPDeviceID;
string PortName;
uint16 PowerManagementCapabilities[];
boolean PowerManagementSupported;
string PrinterPaperNames[];
uint32 PrinterState;
uint16 PrinterStatus;
string PrintJobDataType;
string PrintProcessor;
uint32 Priority;
boolean Published;
boolean Queued;
boolean RawOnly;
string SeparatorFile;
string ServerName;
boolean Shared;
string ShareName;
boolean SpoolEnabled;
datetime StartTime;
string Status;
uint16 StatusInfo;
string SystemCreationClassName;
string SystemName;
datetime TimeOfLastReset;
datetime UntilTime;
uint32 VerticalResolution;
boolean WorkOffline;
};
Members
The Win32_Printer class has these types of members:
Methods
The Win32_Printer class has these methods.
Method | Description |
---|---|
AddPrinterConnection | Adds a connection to the printer. |
CancelAllJobs | Cancels all jobs. |
GetSecurityDescriptor | Returns the security descriptor that controls access to the printer. |
Pause | Pauses the print queue. |
PrintTestPage | Prints a test page. |
RenamePrinter | Renames a printer. |
Reset | Not implemented. For more information about how to implement this method, see the Reset method in CIM_Printer. |
Resume | Resumes paused print queue. |
SetDefaultPrinter | Sets the default printer. |
SetPowerState | Not implemented. For more information about how to implement this method, see the SetPowerState method in CIM_Printer. |
SetSecurityDescriptor | Writes an updated version of the security descriptor that controls access to the printer. |
Properties
The Win32_Printer class has these properties.
-
Attributes
-
-
Data type: uint32
-
Access type: Read-only
Bitmap of attributes for a Windows-based printing device.
-
-
PRINTER_ATTRIBUTE_QUEUED (1 (0x1))
-
Queued
Print jobs are buffered and queued.
-
PRINTER_ATTRIBUTE_DIRECT (2 (0x2))
-
Direct
Document to be sent directly to the printer. This value is used if print jobs are not queued correctly.
-
PRINTER_ATTRIBUTE_DEFAULT (4 (0x4))
-
Default
Default printer on a computer.
-
PRINTER_ATTRIBUTE_SHARED (8 (0x8))
-
Shared
Available as a shared network resource.
-
PRINTER_ATTRIBUTE_NETWORK (16 (0x10))
-
Network
Attached to a network. If both Local and Network bits are set, this indicates a network printer.
-
PRINTER_ATTRIBUTE_HIDDEN (32 (0x20))
-
Hidden
Hidden from some users on the network.
-
PRINTER_ATTRIBUTE_LOCAL (64 (0x40))
-
Local
Directly connected to a computer. If both Local and Network bits are set, this indicates a network printer.
-
PRINTER_ATTRIBUTE_ENABLEDEVQ (128 (0x80))
-
EnableDevQ
Enable the queue on the printer if available.
-
PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS (256 (0x100))
-
KeepPrintedJobs
Spooler should not delete documents after they are printed.
-
PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST (512 (0x200))
-
DoCompleteFirst
Start jobs that are finished spooling first.
-
PRINTER_ATTRIBUTE_WORK_OFFLINE (1024 (0x400))
-
WorkOffline
Queue print jobs when a printer is not available.
-
PRINTER_ATTRIBUTE_ENABLE_BIDI (2048 (0x800))
-
EnableBIDI
Enable bidirectional printing.
-
PRINTER_ATTRIBUTE_RAW_ONLY (4096 (0x1000))
-
Allow only raw data type jobs to be spooled.
-
PRINTER_ATTRIBUTE_PUBLISHED (8192 (0x2000))
-
Published
Published in the network directory service.
Availability
-
Data type: uint16
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|Operational State|003.5", "MIB.IETF|HOST-RESOURCES-MIB.hrDeviceStatus")
Availability and status of the device.
This property is inherited from CIM_LogicalDevice.
Other (1)
Unknown (2)
Running/Full Power (3)
Running or Full Power
Warning (4)
In Test (5)
Not Applicable (6)
Power Off (7)
Off Line (8)
Off Duty (9)
Degraded (10)
Not Installed (11)
Install Error (12)
Power Save - Unknown (13)
The device is known to be in a power save mode, but its exact status is unknown.
Power Save - Low Power Mode (14)
The device is in a power save state but is still functioning, and may exhibit degraded performance.
Power Save - Standby (15)
The device is not functioning, but could be brought to full power quickly.
Power Cycle (16)
Power Save - Warning (17)
The device is in a warning state, though also in a power save mode.
Paused (18)
The device is paused.
Not Ready (19)
The device is not ready.
Not Configured (20)
The device is not configured.
Quiesced (21)
The device is quiet.
AvailableJobSheets
-
Data type: string array
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_PrintJob.RequiredJobSheets")
Array of all the job sheets available on a printer. Can also be used to describe the banner that a printer might provide at the beginning of each job, or other user-specified options.
This property is inherited from CIM_Printer.
AveragePagesPerMinute
-
Data type: uint32
-
Access type: Read-only
Printing rate, in average number of pages per minute, that a printer can produce output.
Capabilities
-
Data type: uint16 array
-
Access type: Read-only
-
Qualifiers: ArrayType ("Indexed"), ModelCorrespondence ("CIM_Printer.CapabilityDescriptions", "CIM_PrintJob.Finishing", "CIM_PrintService.Capabilities")
Array of printer capabilities.
This property is inherited from CIM_Printer.
Unknown (0)
Other (1)
Color Printing (2)
Duplex Printing (3)
Copies (4)
Collation (5)
Stapling (6)
Transparency Printing (7)
Punch (8)
Cover (9)
Bind (10)
Black and White Printing (11)
One Sided (12)
One-Sided
Two Sided Long Edge (13)
Two-Sided Long Edge
Two Sided Short Edge (14)
Two-Sided Short Edge
Portrait (15)
Landscape (16)
Reverse Portrait (17)
Reverse Landscape (18)
Quality High (19)
Quality Normal (20)
Quality Low (21)
CapabilityDescriptions
-
Data type: string array
-
Access type: Read-only
-
Qualifiers: ArrayType ("Indexed"), ModelCorrespondence ("CIM_Printer.Capabilities")
Array of free-form strings that provide detailed explanations for the printer features indicated in the Capabilities array. Each entry of this array is related to an entry in the Capabilities array that is located in the same index.
This property is inherited from CIM_Printer.
Caption
-
Data type: string
-
Access type: Read-only
-
Qualifiers: MaxLen (64), DisplayName ("Caption")
Short description of an object—a one-line string.
This property is inherited from CIM_ManagedSystemElement.
CharSetsSupported
-
Data type: string array
-
Access type: Read-only
-
Qualifiers: ArrayType ("Indexed"), ModelCorrespondence ("CIM_PrintJob.CharSet"), MappingStrings ("MIB.IETF|Printer-MIB.prtLocalizationCharacterSet")
Array of available character sets for output. Strings provided in this property must conform to the semantics and syntax specified by section 4.1.2 ("Charset parameters") in RFC 2046 (MIME Part 2) and contained in the IANA character-set registry. Examples include, "UTF-8", "us-ASCII", and "iso-8859-1".
This property is inherited from CIM_Printer.
Comment
-
Data type: string
-
Access type: Read/write
Comment for a print queue.
Example: Color printer
ConfigManagerErrorCode
-
Data type: uint32
-
Access type: Read-only
-
Qualifiers: Schema ("Win32")
Win32 Configuration Manager error code.
This property is inherited from CIM_LogicalDevice.
This device is working properly. (0)
Device is working properly.
This device is not configured correctly. (1)
Device is not configured correctly.
Windows cannot load the driver for this device. (2)
The driver for this device might be corrupted, or your system may be running low on memory or other resources. (3)
Driver for this device might be corrupted, or the system may be low on memory or other resources.
This device is not working properly. One of its drivers or your registry might be corrupted. (4)
Device is not working properly. One of its drivers or the registry might be corrupted.
The driver for this device needs a resource that Windows cannot manage. (5)
Driver for the device requires a resource that Windows cannot manage.
The boot configuration for this device conflicts with other devices. (6)
Boot configuration for the device conflicts with other devices.
Cannot filter. (7)
The driver loader for the device is missing. (8)
Driver loader for the device is missing.
This device is not working properly because the controlling firmware is reporting the resources for the device incorrectly. (9)
Device is not working properly. The controlling firmware is incorrectly reporting the resources for the device.
This device cannot start. (10)
Device cannot start.
This device failed. (11)
Device failed.
This device cannot find enough free resources that it can use. (12)
Device cannot find enough free resources to use.
Windows cannot verify this device's resources. (13)
Windows cannot verify the device's resources.
This device cannot work properly until you restart your computer. (14)
Device cannot work properly until the computer is restarted.
This device is not working properly because there is probably a re-enumeration problem. (15)
Device is not working properly due to a possible re-enumeration problem.
Windows cannot identify all the resources this device uses. (16)
Windows cannot identify all of the resources that the device uses.
This device is asking for an unknown resource type. (17)
Device is requesting an unknown resource type.
Reinstall the drivers for this device. (18)
Device drivers must be reinstalled.
Failure using the VxD loader. (19)
Your registry might be corrupted. (20)
Registry might be corrupted.
System failure: Try changing the driver for this device. If that does not work, see your hardware documentation. Windows is removing this device. (21)
System failure. If changing the device driver is ineffective, see the hardware documentation. Windows is removing the device.
This device is disabled. (22)
Device is disabled.
System failure: Try changing the driver for this device. If that doesn't work, see your hardware documentation. (23)
System failure. If changing the device driver is ineffective, see the hardware documentation.
This device is not present, is not working properly, or does not have all its drivers installed. (24)
Device is not present, not working properly, or does not have all of its drivers installed.
Windows is still setting up this device. (25)
Windows is still setting up the device.
Windows is still setting up this device. (26)
Windows is still setting up the device.
This device does not have valid log configuration. (27)
Device does not have a valid log configuration.
The drivers for this device are not installed. (28)
Device drivers are not installed.
This device is disabled because the firmware of the device did not give it the required resources. (29)
Device is disabled. The device firmware did not provide the required resources.
This device is using an Interrupt Request (IRQ) resource that another device is using. (30)
Device is using an IRQ resource that another device is using.
This device is not working properly because Windows cannot load the drivers required for this device. (31)
Device is not working properly. Windows cannot load the required device drivers.
ConfigManagerUserConfig
-
Data type: boolean
-
Access type: Read-only
-
Qualifiers: Schema ("Win32")
If TRUE, the device is using a user-defined configuration.
This property is inherited from CIM_LogicalDevice.
CreationClassName
-
Data type: string
-
Access type: Read-only
-
Qualifiers: CIM_Key
Name of the first concrete class to appear in the inheritance chain used to create an instance. When used with other key properties of the class, the property allows all instances of this class and its subclasses to be identified uniquely.
This property is inherited from CIM_LogicalDevice.
CurrentCapabilities
-
Data type: uint16 array
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_Printer.Capabilities")
Array of printer capabilities that are being used currently. An entry in this property must also be listed in the Capabilities array.
This property is inherited from CIM_Printer.
Unknown (0)
Other (1)
Color Printing (2)
Duplex Printing (3)
Copies (4)
Collation (5)
Stapling (6)
Transparency Printing (7)
Punch (8)
Cover (9)
Bind (10)
Black and White Printing (11)
One Sided (12)
One-Sided
Two Sided Long Edge (13)
Two-Sided Long Edge
Two Sided Short Edge (14)
Two-Sided Short Edge
Portrait (15)
Landscape (16)
Reverse Portrait (17)
Reverse Landscape (18)
Quality High (19)
Quality Normal (20)
Quality Low (21)
CurrentCharSet
-
Data type: string
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_Printer.CharSetsSupported")
The character set currently used for output. Strings provided in this property must conform to the semantics and syntax specified by section 4.1.2 ("Charset parameters") in RFC 2046 (MIME Part 2) and contained in the IANA character-set registry. Examples include "utf-8", "us-ASCII", and iso-8859-1.
This property is inherited from CIM_Printer.
CurrentLanguage
-
Data type: uint16
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_Printer.LanguagesSupported", "CIM_Printer.CurrentMimeType")
Printer language currently used. The language used must be listed in the LanguagesSupported property.
This property is inherited from CIM_Printer.
Other (1)
Unknown (2)
PCL (3)
HPGL (4)
PJL (5)
PS (6)
PSPrinter (7)
IPDS (8)
PPDS (9)
EscapeP (10)
Epson (11)
DDIF (12)
Interpress (13)
ISO6429 (14)
Line Data (15)
LineData
MODCA (16)
DODCA
REGIS (17)
SCS (18)
SPDL (19)
TEK4014 (20)
PDS (21)
IGP (22)
CodeV (23)
DSCDSE (24)
WPS (25)
LN03 (26)
CCITT (27)
QUIC (28)
CPAP (29)
DecPPL (30)
Simple Text (31)
SimpleText
NPAP (32)
DOC (33)
imPress (34)
Pinwriter (35)
NPDL (36)
NEC201PL (37)
Automatic (38)
Pages (39)
LIPS (40)
TIFF (41)
Diagnostic (42)
CaPSL (43)
EXCL (44)
LCDS (45)
XES (46)
MIME (47)
48
XPS
49
HPGL2
50
PCLXL
CurrentMimeType
-
Data type: string
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_Printer.CurrentLanguage")
MIME type currently being used if the CurrentLanguage is a MIME type (value = 47).
This property is inherited from CIM_Printer.
CurrentNaturalLanguage
-
Data type: string
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_Printer.NaturalLanguagesSupported")
Language that the printer is using for management currently. The language listed here must also be listed in the NaturalLanguagesSupported property.
This property is inherited from CIM_Printer.
CurrentPaperType
-
Data type: string
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_Printer.PaperTypesAvailable")
Type of paper the printer is using. Must be expressed in the form specified by the ISO/IEC 10175 Document Printing Application (DPA), which is summarized in Appendix C of RFC 1759 (Printer MIB).
This property is inherited from CIM_Printer.
Default
-
Data type: boolean
-
Access type: Read-only
If TRUE, the printer is the default printer.
DefaultCapabilities
-
Data type: uint16 array
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_Printer.Capabilities")
Array of the printer capabilities used by default. Each entry in the DefaultCapabilities array must also be listed in the Capabilities array.
This property is inherited from CIM_Printer.
Unknown (0)
Other (1)
Color Printing (2)
Duplex Printing (3)
Copies (4)
Collation (5)
Stapling (6)
Transparency Printing (7)
Punch (8)
Cover (9)
Bind (10)
Black and White Printing (11)
One Sided (12)
One-Sided
Two Sided Long Edge (13)
Two-Sided Long Edge
Two Sided Short Edge (14)
Two-Sided Short Edge
Portrait (15)
Landscape (16)
Reverse Portrait (17)
Reverse Landscape (18)
Quality High (19)
Quality Normal (20)
Quality Low (21)
DefaultCopies
-
Data type: uint32
-
Access type: Read-only
Number of copies produced for one job—unless otherwise specified.
This property is inherited from CIM_Printer.
DefaultLanguage
-
Data type: uint16
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_Printer.LanguagesSupported", "CIM_Printer.DefaultMimeType")
Default printer language. The language listed here must also be listed in the LanguagesSupported property.
This property is inherited from CIM_Printer.
Other (1)
Unknown (2)
PCL (3)
HPGL (4)
PJL (5)
PS (6)
PSPrinter (7)
IPDS (8)
PPDS (9)
EscapeP (10)
Epson (11)
DDIF (12)
Interpress (13)
ISO6429 (14)
Line Data (15)
LineData
MODCA (16)
DODCA
REGIS (17)
SCS (18)
SPDL (19)
TEK4014 (20)
PDS (21)
IGP (22)
CodeV (23)
DSCDSE (24)
WPS (25)
LN03 (26)
CCITT (27)
QUIC (28)
CPAP (29)
DecPPL (30)
Simple Text (31)
SimpleText
NPAP (32)
DOC (33)
imPress (34)
Pinwriter (35)
NPDL (36)
NEC201PL (37)
Automatic (38)
Pages (39)
LIPS (40)
TIFF (41)
Diagnostic (42)
CaPSL (43)
EXCL (44)
LCDS (45)
XES (46)
MIME (47)
48
XPS
49
HPGL2
50
PCLXL
DefaultMimeType
-
Data type: string
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_Printer.DefaultLanguage")
MIME type currently being used, if the DefaultLanguage value is a MIME type (value = 47).
This property is inherited from CIM_Printer.
DefaultNumberUp
-
Data type: uint32
-
Access type: Read-only
Number of print-stream pages that the printer renders on one media sheet—unless a job specifies otherwise.
This property is inherited from CIM_Printer.
DefaultPaperType
-
Data type: string
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_Printer.PaperTypesAvailable")
Paper type that the printer uses—unless a print job specifies a different paper type. The string must be expressed in the form specified by ISO/IEC 1017 Document Printing Application (DPA), which is summarized in Appendix C of RFC 1759 (Printer MIB).
This property is inherited from CIM_Printer.
DefaultPriority
-
Data type: uint32
-
Access type: Read/write
Default priority value assigned to each print job.
Description
-
Data type: string
-
Access type: Read-only
-
Qualifiers: DisplayName ("Description")
Description of an object.
This property is inherited from CIM_ManagedSystemElement.
DetectedErrorState
-
Data type: uint16
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_Printer.ErrorInformation"), MappingStrings ("MIB.IETF|Printer-MIB.hrPrinterDetectedErrorState")
Printer error information.
This property is inherited from CIM_Printer.
Unknown (0)
Other (1)
No Error (2)
Low Paper (3)
No Paper (4)
Low Toner (5)
No Toner (6)
Door Open (7)
Jammed (8)
Offline (9)
Service Requested (10)
Output Bin Full (11)
DeviceID
-
Data type: string
-
Access type: Read-only
-
Qualifiers: CIM_Key
Unique identifier of the printer on a system.
This property is inherited from CIM_LogicalDevice.
Direct
-
Data type: boolean
-
Access type: Read/write
If TRUE, the print job is sent directly to the printer. If FALSE, the print job is spooled.
DoCompleteFirst
-
Data type: boolean
-
Access type: Read/write
If TRUE, the printer starts jobs that are finished spooling. If FALSE, the printer starts jobs in the order that the jobs are received.
DriverName
-
Data type: string
-
Access type: Read/write
Name of the Windows printer driver.
Example: Windows Fax Driver
EnableBIDI
-
Data type: boolean
-
Access type: Read/write
If TRUE, the printer can print bidirectionally.
EnableDevQueryPrint
-
Data type: boolean
-
Access type: Read/write
If TRUE, the printer holds documents in the queue when document and printer setups do not match.
ErrorCleared
-
Data type: boolean
-
Access type: Read-only
If TRUE, the error reported in LastErrorCode has been cleared.
This property is inherited from CIM_LogicalDevice.
ErrorDescription
-
Data type: string
-
Access type: Read-only
Information about the error recorded in LastErrorCode, and information about corrective actions that can be taken.
This property is inherited from CIM_LogicalDevice.
ErrorInformation
-
Data type: string array
-
Access type: Read/write
-
Qualifiers: ModelCorrespondence ("CIM_Printer.DetectedErrorState")
Array of supplemental information for the current error state indicated in DetectedErrorState.
This property is inherited from CIM_Printer.
ExtendedDetectedErrorState
-
Data type: uint16
-
Access type: Read-only
Reports standard error information. Additional information should be recorded in DetectedErrorState.
Values are:
0 (0x0)
Unknown
1 (0x1)
Other
2 (0x2)
No Error
3 (0x3)
Low Paper
4 (0x4)
No Paper
5 (0x5)
Low Toner
6 (0x6)
No Toner
7 (0x7)
Door Open
8 (0x8)
Jammed
9 (0x9)
Service Requested
10 (0xA)
Output Bin Full
11 (0xB)
Paper Problem
12 (0xC)
Cannot Print Page
13 (0xD)
User Intervention Required
14 (0xE)
Out of Memory
15 (0xF)
Server Unknown
ExtendedPrinterStatus
-
Data type: uint16
-
Access type: Read-only
Status information for a printer that is different from information specified in the Availability property.
1 (0x1)
Other
2 (0x2)
Unknown
3 (0x3)
Idle
4 (0x4)
Printing
5 (0x5)
Warming Up
6 (0x6)
Stopped Printing
7
Offline
8 (0x8)
Paused
9 (0x9)
Error
10 (0xA)
Busy
11 (0xB)
Not Available
12 (0xC)
Waiting
13 (0xD)
Processing
14 (0xE)
Initialization
15
Power Save
16 (0x10)
Pending Deletion
17 (0x11)
I/O Active
18 (0x12)
Manual Feed
Hidden
-
Data type: boolean
-
Access type: Read/write
If TRUE, the printer is hidden from network users.
HorizontalResolution
-
Data type: uint32
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_PrintJob.HorizontalResolution"), Units ("pixels per inch")
Horizontal resolution of the printer—in pixels per inch.
This property is inherited from CIM_Printer.
InstallDate
-
Data type: datetime
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|ComponentID|001.5"), DisplayName ("Install Date")
Date and time an object was installed. The object may be installed without a value being written to this property. This property is inherited from CIM_ManagedSystemElement.
JobCountSinceLastReset
-
Data type: uint32
-
Access type: Read-only
-
Qualifiers: Counter
Number of print jobs since the printer was last reset.
This property is inherited from CIM_Printer.
KeepPrintedJobs
-
Data type: boolean
-
Access type: Read/write
If TRUE, the print spooler does not delete the completed jobs.
LanguagesSupported
-
Data type: uint16 array
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIB.IETF|Printer-MIB.prtInterpreterLangFamily"), ModelCorrespondence ("CIM_Printer.MimeTypesSupported", "CIM_PrintJob.Language", "CIM_PrintService.LanguagesSupported")
Array of the print languages natively supported.
This property is inherited from CIM_Printer.
Other (1)
Unknown (2)
PCL (3)
HPGL (4)
PJL (5)
PS (6)
PSPrinter (7)
IPDS (8)
PPDS (9)
EscapeP (10)
Epson (11)
DDIF (12)
Interpress (13)
ISO6429 (14)
Line Data (15)
LineData
MODCA (16)
DODCA
REGIS (17)
SCS (18)
SPDL (19)
TEK4014 (20)
PDS (21)
IGP (22)
CodeV (23)
DSCDSE (24)
WPS (25)
LN03 (26)
CCITT (27)
QUIC (28)
CPAP (29)
DecPPL (30)
Simple Text (31)
SimpleText
NPAP (32)
DOC (33)
imPress (34)
Pinwriter (35)
NPDL (36)
NEC201PL (37)
Automatic (38)
Pages (39)
LIPS (40)
TIFF (41)
Diagnostic (42)
CaPSL (43)
EXCL (44)
LCDS (45)
XES (46)
MIME (47)
XPS (48)
HPGL2 (49)
PCLXL (50)
LastErrorCode
-
Data type: uint32
-
Access type: Read-only
Last error code that the logical device reports.
This property is inherited from CIM_LogicalDevice.
Local
-
Data type: boolean
-
Access type: Read/write
If TRUE, the printer is not attached to a network. If both the Local and Network properties are set to TRUE, then the printer is a network printer.
Location
-
Data type: string
-
Access type: Read/write
Physical location of the printer.
Example: Bldg. 38, Room 1164
MarkingTechnology
-
Data type: uint16
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIB.IETF|Printer-MIB.prtMarkerMarkTech")
Marking technology the printer uses.
This property is inherited from CIM_Printer.
Other (1)
Unknown (2)
Electrophotographic LED (3)
Electrophotographic Laser (4)
Electrophotographic Other (5)
Impact Moving Head Dot Matrix 9pin (6)
Impact Moving Head Dot Matrix 24pin (7)
Impact Moving Head Dot Matrix Other (8)
Impact Moving Head Fully Formed (9)
Impact Band (10)
Impact Other (11)
Inkjet Aqueous (12)
Inkjet Solid (13)
Inkjet Other (14)
Pen (15)
Thermal Transfer (16)
Thermal Sensitive (17)
Thermal Diffusion (18)
Thermal Other (19)
Electroerosion (20)
Electrostatic (21)
Photographic Microfiche (22)
Photographic Imagesetter (23)
Photographic Other (24)
Ion Deposition (25)
eBeam (26)
Typesetter (27)
MaxCopies
-
Data type: uint32
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_PrintJob.Copies")
Maximum number of copies the printer can produce for one job.
This property is inherited from CIM_Printer.
MaxNumberUp
-
Data type: uint32
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_PrintJob.NumberUp")
Maximum number of print-stream pages the printer can render on one media sheet, such as paper.
This property is inherited from CIM_Printer.
MaxSizeSupported
-
Data type: uint32
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_PrintJob.JobSize"), Units ("kilobytes")
Largest job as a byte stream, in kilobytes, that the printer can accept. A value of 0 (zero) indicates that no limit is set.
This property is inherited from CIM_Printer.
MimeTypesSupported
-
Data type: string array
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_Printer.LanguagesSupported", "CIM_PrintJob.MimeTypes", "CIM_PrintService.MimeTypesSupported")
Array of detailed MIME-type explanations that the printer supports. If data is provided, then the value 47 ("MIME") must be included in the LanguagesSupported property.
This property is inherited from CIM_Printer.
Name
-
Data type: string
-
Access type: Read-only
-
Qualifiers: DisplayName ("Name")
Name of the printer.
This property is inherited from CIM_ManagedSystemElement.
NaturalLanguagesSupported
-
Data type: string array
-
Access type: Read-only
-
Qualifiers: ArrayType ("Indexed"), MappingStrings ("MIB.IETF|Printer-MIB.prtLocalizationLanguage"), ModelCorrespondence ("CIM_PrintJob.NaturalLanguage")
Array of languages supported for strings that the printer uses for output of management information. Must conform to RFC 1766. For example, "en" is used for English.
This property is inherited from CIM_Printer.
Network
-
Data type: boolean
-
Access type: Read/write
If TRUE, the printer is a network printer. If both the Local and Network properties are set to TRUE, then the printer is a network printer.
PaperSizesSupported
-
Data type: uint16 array
-
Access type: Read-only
Array of the paper types that the printer supports.
This property is inherited from CIM_Printer.
Unknown (0)
Other (1)
A (2)
B (3)
C (4)
D (5)
E (6)
Letter (7)
Legal (8)
NA-10x13-Envelope (9)
NA-9x12-Envelope (10)
NA-Number-10-Envelope (11)
NA-7x9-Envelope (12)
NA-9x11-Envelope (13)
NA-10x14-Envelope (14)
NA-Number-9-Envelope (15)
NA-6x9-Envelope (16)
NA-10x15-Envelope (17)
A0 (18)
A1 (19)
A2 (20)
A3 (21)
A4 (22)
A5 (23)
A6 (24)
A7 (25)
A8 (26)
A9A10 (27)
B0 (28)
B1 (29)
B2 (30)
B3 (31)
B4 (32)
B5 (33)
B6 (34)
B7 (35)
B8 (36)
B9 (37)
B10 (38)
C0 (39)
C1 (40)
C2C3 (41)
C2
C4 (42)
C3
C5 (43)
C4
C6 (44)
C5
C7 (45)
C6
C8 (46)
C7
ISO-Designated (47)
C8
JIS B0 (48)
ISO-Designated
JIS B1 (49)
JIS B0
JIS B2 (50)
JIS B1
JIS B3 (51)
JIS B2
JIS B4 (52)
JIS B3
JIS B5 (53)
JIS B4
JIS B6 (54)
JIS B5
JIS B7 (55)
JIS B6
JIS B8 (56)
JIS B7
JIS B9 (57)
JIS B8
JIS B10 (58)
JIS B9
NA-Letter (59)
JIS B10
NA-Legal (60)
B4-Envelope (61)
B5-Envelope (62)
C3-Envelope (63)
C4-Envelope (64)
C5-Envelope (65)
C6-Envelope (66)
Designated-Long-Envelope (67)
Monarch-Envelope (68)
Executive (69)
Folio (70)
Invoice (71)
Ledger (72)
Quarto (73)
PaperTypesAvailable
-
Data type: string array
-
Access type: Read-only
-
Qualifiers: ArrayType ("Indexed"), ModelCorrespondence ("CIM_PrintJob.RequiredPaperType", "CIM_PrintService.PaperTypesAvailable"), MappingStrings ("MIB.IETF|Printer-MIB.prtInputMediaName")
Array of paper types that are currently available on the printer. Each string must be expressed in the format specified by ISO/IEC 10175 Document Printing Application (DPA), which is summarized in Appendix C of RFC 1759 (Printer MIB). Any paper size identified in this property must also appear in the PaperSizesSupported property.
This property is inherited from CIM_Printer.
Example: iso-a4-colored
Parameters
-
Data type: string
-
Access type: Read/write
Optional parameters for the print processor.
Example: "Copies=2"
PNPDeviceID
-
Data type: string
-
Access type: Read-only
-
Qualifiers: Schema ("Win32")
Windows Plug and Play device identifier of the logical device.
This property is inherited from CIM_LogicalDevice.
Example: *PNP030b
PortName
-
Data type: string
-
Access type: Read/write
Port that is used to transmit data to a printer. If a printer is connected to more than one port, the names of each port are separated by commas.
Example: LPT1:, LPT2:, LPT3:
PowerManagementCapabilities
-
Data type: uint16 array
-
Access type: Read-only
Array of the specific power-related capabilities of a logical device.
This property is inherited from CIM_LogicalDevice.
Unknown (0)
Not Supported (1)
Disabled (2)
Enabled (3)
The power management features are currently enabled, but the exact feature set is unknown or the information is unavailable.
Power Saving Modes Entered Automatically (4)
The device can change its power state based on usage or other criteria.
Power State Settable (5)
The SetPowerState method is supported. This method is found on the parent CIM_LogicalDevice class and can be implemented. For more information, see Designing Managed Object Format (MOF) Classes.
Power Cycling Supported (6)
The SetPowerState method can be invoked with the PowerState parameter set to 5 (Power Cycle).
Timed Power On Supported (7)
Timed Power-On Supported
The SetPowerState method can be invoked with the PowerState parameter set to 5 (Power Cycle) and Time set to a specific date and time, or interval, for power-on.
PowerManagementSupported
-
Data type: boolean
-
Access type: Read-only
If TRUE, the power of the device can be managed, which means that it can be put into suspend mode. The property does not indicate that power management features are enabled, only that the logical device is capable of power management.
This property is inherited from CIM_LogicalDevice.
PrinterPaperNames
-
Data type: string array
-
Access type: Read-only
Array of paper sizes supported by the printer. The printer-specified names are used to represent supported paper sizes.
Example: B5 (JIS)
PrinterState
-
Data type: uint32
-
Access type: Read-only
-
Qualifiers: Deprecated
One of the possible states relating to this printer. This property is obsolete. In place of this property, use PrinterStatus.
0
Idle - for more information, see the Remarks section below.
1
Paused
2
Error
3
Pending Deletion
4
Paper Jam
5
Paper Out
6
Manual Feed
7
Paper Problem
8
Offline
9
I/O Active
10
Busy
11
Printing
12
Output Bin Full
13
Not Available
14
Waiting
15
Processing
16
Initialization
17
Warming Up
18
Toner Low
19
No Toner
20
Page Punt
21
User Intervention Required
22
Out of Memory
23
Door Open
24
Server_Unknown
25
Power Save
PrinterStatus
-
Data type: uint16
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIB.IETF|Printer-MIB.hrPrinterStatus")
Status information for a printer that is different from information specified in the logical device Availability property.
This property is inherited from CIM_Printer.
Other (1)
Unknown (2)
Idle (3)
Idle - for more information, see the Remarks section below.
Printing (4)
Warmup (5)
Warming Up
Stopped Printing (6)
Offline (7)
PrintJobDataType
-
Data type: string
-
Access type: Read/write
Data type of a print job waiting for the Windows-based printing device.
PrintProcessor
-
Data type: string
-
Access type: Read/write
Name of the print spooler that handles print jobs.
Example: SPOOLSS.DLL
Priority
-
Data type: uint32
-
Access type: Read/write
Priority of the printer. Jobs on a higher priority printer are scheduled first.
Published
-
Data type: boolean
-
Access type: Read/write
If TRUE, the printer is published in the network directory service.
Queued
-
Data type: boolean
-
Access type: Read/write
If TRUE, the printer buffers and queues print jobs.
RawOnly
-
Data type: boolean
-
Access type: Read/write
If TRUE, the printer accepts only raw data to be spooled.
SeparatorFile
-
Data type: string
-
Access type: Read/write
Name of the file used to create a separator page. This page is used to separate print jobs sent to the printer.
ServerName
-
Data type: string
-
Access type: Read-only
Name of the server that controls the printer. If this string is NULL, the printer is controlled locally.
Shared
-
Data type: boolean
-
Access type: Read/write
If TRUE, the printer is available as a shared network resource.
ShareName
-
Data type: string
-
Access type: Read/write
Share name of the Windows-based printing device.
Example: "\\PRINTSERVER1\PRINTER2"
SpoolEnabled
-
Data type: boolean
-
Access type: Read-only
-
Qualifiers: Deprecated
This property is obsolete; do not use. If TRUE, spooling is enabled for printer.
StartTime
-
Data type: datetime
-
Access type: Read/write
Date and time that a printer can start to print a job—if the printer is limited to print at specific times. This value is expressed as the time elapsed since 12:00 AM GMT (Greenwich Mean Time).
Status
-
Data type: string
-
Access type: Read-only
-
Qualifiers: MaxLen (10), DisplayName ("Status")
Current status of the object. Various operational and nonoperational statuses can be defined. Operational statuses include: OK, Degraded, and Pred Fail (an element, such as a SMART-enabled hard disk drive, may be functioning properly but predicting a failure in the near future). Nonoperational statuses include: Error, Starting, Stopping, and Service. The latter, Service, could apply during mirror-resilvering of a disk, reload of a user permissions list, or other administrative work. Not all such work is online, yet the managed element is neither OK nor in one of the other states.
This property is inherited from CIM_ManagedSystemElement.
Values include the following:
OK ("OK")
Error ("Error")
Degraded ("Degraded")
Unknown ("Unknown")
Pred Fail ("Pred Fail")
Starting ("Starting")
Stopping ("Stopping")
Service ("Service")
Stressed ("Stressed")
NonRecover ("NonRecover")
No Contact ("No Contact")
Lost Comm ("Lost Comm")
StatusInfo
-
Data type: uint16
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|Operational State|003.3")
State of the logical device. If this property does not apply to the logical device, the value 5 (Not Applicable) should be used.
This property is inherited from CIM_LogicalDevice.
Other (1)
Unknown (2)
Enabled (3)
Disabled (4)
Not Applicable (5)
SystemCreationClassName
-
Data type: string
-
Access type: Read-only
-
Qualifiers: Propagated ("CIM_System.CreationClassName"), CIM_Key
Value of the scoping computer's CreationClassName property.
This property is inherited from CIM_LogicalDevice.
SystemName
-
Data type: string
-
Access type: Read-only
-
Qualifiers: Propagated ("CIM_System.Name"), CIM_Key
Name of the scoping system.
This property is inherited from CIM_LogicalDevice.
TimeOfLastReset
-
Data type: datetime
-
Access type: Read-only
Date and time the printer was last reset.
This property is inherited from CIM_Printer.
UntilTime
-
Data type: datetime
-
Access type: Read/write
Date and time that a printer can print the last job—if the printer is limited to print at specific times. This value is expressed as the time elapsed since 12:00 AM GMT (Greenwich Mean Time).
VerticalResolution
-
Data type: uint32
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_PrintJob.HorizontalResolution"), Units ("pixels per inch")
Vertical resolution, in pixels-per-inch, of the printer.
This property is inherited from CIM_Printer.
WorkOffline
-
Data type: boolean
-
Access type: Read/write
If TRUE, you can queue print jobs on the computer when the printer is offline.
Remarks
The Win32_Printer class is derived from CIM_Printer. Before calling SWbemObject.Put_ or IWbemServices::PutInstance for a Win32_Printer instance, the SeLoadDriverPrivilege privilege (wbemPrivilegeLoadDriver for Visual Basic and LoadDriver for scripting monikers) must be enabled. For more information, see Privilege Constants and Executing Privileged Operations. The following VBScript code example shows how to enable the SetLoadDriverPrivilege privilege in script.
For working with MSCS Printer clusters, use the prnadmin.dll assembly, or else the .NET Framework System.Printing namespace.
Set objPrinter = GetObject("winmgmts:{impersonationLevel=Impersonate,(LoadDriver)}!//./Root/CIMv2:Win32_Printer")
Windows uses the credentials of the user running the script to determine what the available printers are. Therefore, if you are running a script remotely, you may only be able to access any printer that is available to your user account on that remote system.
You cannot use the Win32_Printer class for printers on an MSCS print cluster. Instead, you may need to use either the PrinterAdmin tool (PrnAdmin.dll) or the .NET Framework System.Printing namespace.
Note
If you are retrieving PrinterStatus = 3 or PrinterState = 0, the printer driver may not be feeding accurate information into WMI. WMI retrieves the printer information from the spoolsv.exe process. It is possible the printer driver does not report its status to the spooler. In this case, Win32_Printer reports the printer as Idle.
Examples
The following PowerShell code sample shows how to determine the default printer of the local computer.
Get-WmiObject win32_printer | %{if ($_.default) {$_}}
The following VBScript code sample describes how to retrieve printer stats from instances of Win32_Printer.
Set PrinterSet = GetObject("winmgmts:").InstancesOf ("Win32_Printer")
If (PrinterSet.Count = 0 ) Then WScript.Echo "No Printers Installed!"
for each Printer in PrinterSet
if Printer.PrinterStatus = 3 then WScript.Echo Printer.Name & Chr(13) & "Status: Idle"
if Printer.PrinterStatus = 4 then WScript.Echo Printer.Name & Chr(13) & "Status: Printing"
next
The following Perl code sample describes how to retrieve printer stats from instances of Win32_Printer.
use strict;
use Win32::OLE;
my $PrinterSet;
eval { $PrinterSet = Win32::OLE->GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2")->
InstancesOf ("Win32_Printer"); };
unless($@)
{
if ($PrinterSet->{Count} == 0)
{
print "No Printers Installed!\n";
}
foreach my $PrinterInst (in $PrinterSet)
{
if ($PrinterInst->{PrinterStatus} == 3)
{
print "\n$PrinterInst->{Name}\nStatus: Idle\n";
}
if ($PrinterInst->{PrinterStatus} == 4)
{
print "\n$PrinterInst->{Name}\nStatus: Printing\n";
}
}
}
else
{
print STDERR Win32::OLE->LastError, "\n";
}
The following VBScript code example shows how to obtain the name of the default printer for a computer.
strComputer = "."
Set objWMIService = GetObject( "winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\Root\CIMv2")
Set colInstalledPrinters = objWMIService.ExecQuery ("Select * from Win32_Printer")
For Each objPrinter in colInstalledPrinters
If objPrinter.Default = "True" Then
Wscript.Echo "Name: " & objPrinter.Name
End If
Next
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows Vista |
Minimum supported server |
Windows Server 2008 |
Namespace |
Root\CIMV2 |
MOF |
|
DLL |
|
See also