Set Printer - PowerShell


Set-Printer modifies the settings and properties of a printer, such as its port, default print settings, and sharing options. It allows administrators and users to configure printers to suit specific printing needs.


Set-Printer [-Name] <string> [[-PortName] <string>] [-DeviceSettings] <string>
[-BindPorts <bool>] [-Default] [[-RealModel] <string>]


  • -Name: Specifies the name of the printer to modify. This parameter is required.
  • -PortName: Specifies the new port for the printer. The default value varies by printer.
  • -DeviceSettings: Modifies the printer’s device settings using a string. The string format depends on the printer.
  • -BindPorts: If set to $true, binds the printer ports where the printer accepts print jobs.
  • -Default: Makes the specified printer the default printer.
  • -RealModel: Specifies the actual model of the printer. This option is only available if the printer uses a Microsoft printer driver.


Set Printer Port

Set-Printer -Name "HP LaserJet 4000" -PortName "\\servername\printerport"

Reset Printer to Default Settings

Set-Printer -Name "Canon MX492" -Default

Common Issues

  • Permission Denied: Ensure you have administrator privileges to modify printer settings.
  • Invalid Port Name: Verify that the specified port name is correct and accessible.
  • Invalid Device Settings: Ensure the device settings string is in the correct format for the printer.


Set-Printer can be integrated with other PowerShell commands, such as Get-Printer and Add-Printer. For example, to set the port and bind the ports for all discovered printers:

Get-Printer | Set-Printer -PortName "\\servername\printerport" -BindPorts $true
  • Get-Printer
  • Add-Printer
  • Remove-Printer