Add-Printer

Adds a printer to the specified computer.

Syntax

Add-Printer
   [-Name] <String>
   [-DriverName] <String>
   [-AsJob]
   [-CimSession <CimSession>]
   [-Comment <String>]
   [-ComputerName <String>]
   [-Datatype <String>]
   [-KeepPrintedJobs]
   [-Location <String>]
   [-PermissionSDDL <String>]
   [-PrintProcessor <String>]
   [-Priority <UInt32>]
   [-Published]
   [-RenderingMode <RenderingModeEnum>]
   [-SeparatorPageFile <String>]
   [-Shared]
   [-ShareName <String>]
   [-StartTime <UInt32>]
   [-ThrottleLimit <Int32>]
   [-UntilTime <UInt32>]
   -PortName <String>
   [-Confirm]
   [-WhatIf]
Add-Printer
   [-ConnectionName] <String>
   [-AsJob]
   [-CimSession <CimSession>]
   [-ThrottleLimit <Int32>]
   [-Confirm]
   [-WhatIf]
Add-Printer
   [-Name] <String>
   [-AsJob]
   [-CimSession <CimSession>]
   [-Comment <String>]
   [-ComputerName <String>]
   [-Datatype <String>]
   [-DeviceURL <String>]
   [-DeviceUUID <String>]
   [-KeepPrintedJobs]
   [-Location <String>]
   [-PermissionSDDL <String>]
   [-PrintProcessor <String>]
   [-Priority <UInt32>]
   [-Published]
   [-RenderingMode <RenderingModeEnum>]
   [-SeparatorPageFile <String>]
   [-Shared]
   [-ShareName <String>]
   [-StartTime <UInt32>]
   [-ThrottleLimit <Int32>]
   [-UntilTime <UInt32>]
   [-Confirm]
   [-WhatIf]

Description

The Add-Printer cmdlet adds a printer to a specified computer. You can add both local printers and connections to network-based printers.

You cannot use wildcard characters with Add-Printer. You can use Add-Printer in a Windows PowerShell remoting session.

You do not need administrator privileges to use Add-Printer.

Examples

Example 1: Add a printer to a local computer

PS C:\> Add-Printer -Name "mxdw 2" -DriverName "Microsoft XPS Document Writer v4" -PortName "portprompt:"

This command adds a printer with name mxdw2 to the local computer. The mxdw printer uses the Microsoft XPS Document Writer v4 driver and the portprompt: port.

The portprompt: port prompts for a file name to save the XPS document when printing to the XPS printer.

Example 2: Add a new network printer connection

PS C:\> Add-Printer -ConnectionName \\printServer\printerName

This command adds a printer by specifying the name of a print server and a shared printer on that server.

Parameters

-AsJob

Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CimSession

Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.

Type:CimSession
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Comment

Specifies the text to add to the Comment field for the specified printer.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Specifies the name of the computer to which to add the printer.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionName

Specifies the name of a shared printer to which to connect. This parameter is required.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Datatype

Specifies the data type the printer uses to record print jobs.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DeviceURL

Specifies a URL for the directed discovery of a Web Services on Devices (WSD) printer to add to the specified computer.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DeviceUUID

Specifies the multicast UUID for device detection for the WSD port.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DriverName

Specifies the name of the printer driver for the printer.

Type:String
Position:2
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-KeepPrintedJobs

Specifies whether the print jobs in the queue are kept.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Location

Specifies the location of the printer.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Specifies the name of the printer to add.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PermissionSDDL

Specifies the permissions for the printer as an SDDL (Security Descriptor Definition Language) string.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PortName

Specifies the name of the port used or created for the printer.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-PrintProcessor

Specifies the name of the print processor used by the printer.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Priority

Specifies the relative queue priority.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Published

Specifies whether or not the printer is published in the network directory service.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RenderingMode

Specifies the rendering mode for the printer. You can specify one of the following rendering modes:

  • SSR, Service Side Rendering
  • CSR. Client Side Rendering
  • BranchOffice. Branch Office
Type:RenderingModeEnum
Position:Named
Default value:0
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SeparatorPageFile

Specifies the path to and name of the separator page to be used by the printer.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Shared

Indicates whether to share the printer on the network. You can determine the name by which the printer is shared by specifying ShareName. If ShareName is not specified, the name of the printer is used as the share name.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ShareName

Specifies the name by which to share the printer on the network. To share a printer, specify the Shared parameter.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StartTime

Specifies the starting time of printer availability.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is entered, then Windows PowerShell® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UntilTime

Specifies the ending time of printer availability.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

None

Outputs

None

Notes

  • The WhatIf switch doesn’t work if the ConnectionName parameter set is used.