Set-Printer

Set-Printer

Updates the configuration of an existing printer.

Syntax

Parameter Set: Name
Set-Printer [-Name] <String[]> [-BranchOfficeOfflineLogSizeMB <UInt32> ] [-CimSession <CimSession[]> ] [-Comment <String> ] [-ComputerName <String> ] [-Datatype <String> ] [-DisableBranchOfficeLogging <Boolean> ] [-DriverName <String> ] [-KeepPrintedJobs <Boolean> ] [-Location <String> ] [-PassThru] [-PermissionSDDL <String> ] [-PortName <String> ] [-PrintProcessor <String> ] [-Priority <UInt32> ] [-Published <Boolean> ] [-RenderingMode <RenderingModeEnum> {SSR | CSR | BranchOffice} ] [-SeparatorPageFile <String> ] [-Shared <Boolean> ] [-ShareName <String> ] [-StartTime <UInt32> ] [-ThrottleLimit <Int32> ] [-UntilTime <UInt32> ] [-Confirm] [-WhatIf] [ <CommonParameters>] [ <WorkflowParameters>]

Parameter Set: InputObject (cdxml)
Set-Printer [-BranchOfficeOfflineLogSizeMB <UInt32> ] [-CimSession <CimSession[]> ] [-Comment <String> ] [-Datatype <String> ] [-DisableBranchOfficeLogging <Boolean> ] [-DriverName <String> ] [-KeepPrintedJobs <Boolean> ] [-Location <String> ] [-PassThru] [-PermissionSDDL <String> ] [-PortName <String> ] [-PrintProcessor <String> ] [-Priority <UInt32> ] [-Published <Boolean> ] [-RenderingMode <RenderingModeEnum> {SSR | CSR | BranchOffice} ] [-SeparatorPageFile <String> ] [-Shared <Boolean> ] [-ShareName <String> ] [-StartTime <UInt32> ] [-ThrottleLimit <Int32> ] [-UntilTime <UInt32> ] [-Confirm] [-WhatIf] [ <CommonParameters>] [ <WorkflowParameters>]




Detailed Description

The Set-Printer cmdlet updates the configuration of the specified printer.

Use the KeepPrintedJobs parameter to make a printer keep printed jobs.

You can specify the printer to update by using either a printer object retrieved by the Get-Printer cmdlet, or by specifying a printer name.

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

You need administrator credentials to run Set-Printer.

Parameters

-BranchOfficeOfflineLogSizeMB<UInt32>

Specifies the maximum size, in megabytes, of the branch office remote offline log file for this printer. You cannot specify this parameter for unshared queues or queues that do not have branch office enabled.


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-CimSession<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.


Aliases

Session

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Comment<String>

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


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ComputerName<String>

Specifies the name of the computer on which the printer is installed.


Aliases

CN

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Datatype<String>

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


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DisableBranchOfficeLogging<Boolean>

Indicates whether branch office remote logging is disabled. You cannot specify this parameter for unshared queues.


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DriverName<String>

Specifies the name of the printer driver for the printer.


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-KeepPrintedJobs<Boolean>

Specifies whether the printer jobs in the queue are kept.


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Location<String>

Specifies the location of the printer.


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Name<String[]>

Specifies the name of the printer to modify.


Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-PassThru

Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PermissionSDDL<String>

Specifies the permissions for the printer as an SDDL string.


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PortName<String>

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


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PrintProcessor<String>

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


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Priority<UInt32>

Specifies the relative queue priority.


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Published<Boolean>

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


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-RenderingMode<RenderingModeEnum>

Specifies the rendering mode for the printer. The acceptable values for this parameter are:

-- SSR
-- CSR
-- BranchOffice


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SeparatorPageFile<String>

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


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ShareName<String>

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


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Shared<Boolean>

Specifies whether the printer is shared.


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-StartTime<UInt32>

Specifies the starting time of printer availability.


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ThrottleLimit<Int32>

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.


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-UntilTime<UInt32>

Specifies the ending time of printer availability.


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Confirm

Prompts you for confirmation before running the cmdlet.


Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-WhatIf

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


Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see    about_CommonParameters.

<WorkflowParameters>

This cmdlet supports the following workflow common parameters: -PSParameterCollection, -PSComputerName, -PSCredential, -PSConnectionRetryCount, -PSConnectionRetryIntervalSec, -PSRunningTimeoutSec, -PSElapsedTimeoutSec, -PSPersist, -PSAuthentication, -PSAuthenticationLevel, -PSApplicationName, -PSPort, -PSUseSSL, -PSConfigurationName, -PSConnectionURI, -PSAllowRedirection, -PSSessionOption, -PSCertificateThumbprint, -PSPrivateMetadata, -AsJob, -JobName, and –InputObject. For more information, see    about_WorkflowCommonParameters.

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

  • Microsoft.Management.Infrastructure.CimInstance#ROOT/StandardCimv2/MSFT_Printer

    This cmdlet accepts one printer object.


Outputs

The output type is the type of the objects that the cmdlet emits.

  • Microsoft.Management.Infrastructure.CimInstance#ROOT/StandardCimv2/MSFT_Printer

    This cmdlet returns a printer object.


Examples

Example 1: Set printer to keep printed jobs

This command configures the Microsoft XPS Document Writer printer to keep printed jobs.


PS C:\> Set-Printer –Name "Microsoft XPS Document Writer" -KeepPrintedJobs $True

Example 2: Set printer to keep printed jobs by using a printer object

The first command gets the printer named Microsoft XPS Document Writer by using the Get-Printer cmdlet. The command stores the result in the $Printer variable.

The second command assigns a value of $True to the KeepPrintedJobs property of the $Printer object.

The final command sets the value of revised value of $Printer.


PS C:\> $Printer = Get-Printer –Name "Microsoft XPS Document Writer"
PS C:\> $Printer.KeepPrintedJobs = $True
PS C:\> Set-Printer –InputObject $Printer

Related topics

Community Additions

ADD
Show: