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:
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.
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.
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.
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 to get system boot time in Powershell?
- How to find running services in Powershell?
- How to find the computer name using command prompt?
- How to find display resolution using Powershell?
- How to get sid from the user account in Powershell?
- How to empty recycle bin with Powershell?
- How to set the DNS server address using Powershell?
- How to find the properties of an event log in Powershell?
- How to force logoff a user in Powershell?
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 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.