How to list installed printers in Powershell?

Powershell offers multiple ways to list all the installed printers for a local or remote computer. We could use existing classes in Powershell and fetch important data and information about printers.

We look at the following three ways by which you can list all the installed printers using Powershell.

List installed printers in Powershell using the Get-Printer cmdlet

Get-Printer cmdlet is an inbuild command in Powershell. It can be used to find printers and the ports to which these printers are attached. You can fetch printer information for a local or remote computer.

For a local Windows 11 computer, you can use the Get-Printer cmdlet in a Powershell command window and get the list of all printers attached to the local system.

The exact command is:

Get-Printer

The output of this command is represented in the screenshot below. You can see that the printer data also includes the port name used to communicate with the printer.

List of installed printers using Get-Printer

Get-Printer cmdlet can provide a lot of information. You may qualify the output of this command by applying filters. One of the more practical and user-friendly commands could be:

Get-Printer | Select-Object Name, ComputerName, Type, DriverName, Shared, Published

This command will provide you with printer data that is arranged in an organized way. The screenshot below lists the printer details below.

Get-Printer for listing printers connected to a computer in Powershell.

Find a list of installed printers using WMI Object in Powershell

WMI Object method can be used to list all the installed printers. We will use the Win32_Printers class to query the installed printers and list its properties.

The command using WMI Object is displayed below:

Get-WMIObject -ClassName Win32_Printer | Select Name, PortName, SystemName, ShareName

The output of this command is represented in the screenshot below.

Win32_printer class has over 80 different properties. You could use any of these to fetch the desired information about a printer.

Find a list of installed printers using CIM Instance in Powershell

CIM Instance method can also be used to list the installed printers on the computer. CIM Instance will also use the Win32_printers class to get the list of printers and other attributes of the printer.

The exact command with CIM Instance is displayed hereunder.

Get-CimInstance -ClassName Win32_Printer | Select Name, PortName, SystemName, ShareName

The output of this command is displayed as a screenshot.

The output is similar to the output of the Win32_printers class and the WMI Object method in Powershell.

Summary

In this Powershell tutorial, we have seen three ways by which we can list all the installed printers on a local or remote computer. We could choose to list specific properties of a printer. Or, we could choose to list all the properties of a printer that can be imported from the Win32_printers class.

Suggested Powershell Tutorials

The following Powershell tutorials will help you in performing basic system administration tasks on Windows computers.

How useful was this post?

Click on a star to rate it!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Rajesh Dhawan

Rajesh Dhawan is a technology professional who loves to blog about smart wearables, Cloud computing and Microsoft technologies. He loves to break complex problems into manageable chunks of meaningful information.