Copy printer defaults to other printers

I am installing a new print server using Windows Server 2012R2 in an AD env. We are currently using a 2003 server to share the printers.

To get a clean installation with only new drivers, and only the ones we need, i am installing them all manual (200+ printers, 10 dif moddels).

My problem now is that i need to set some default settings on the printers, like default duplex and B&W. Is there any way i can set up one printer of each moddel, the way it shold be, and copy those defaults to all the others printers of the same model?

Thanks


Solution 1:

Although what you're trying to accomplish isn't technically just the migration of all printers from a 2003 box to a 2012 box, it is a part of it. As HelplessN00b mentioned the way to migrate is quite simple actually and requires you to add the Print and Documentation Role to your Server 2012 machine. However I'd offer that what you are doing is more of a fresh restart on a new 2012 box with the newest drivers and settings configured and then applying them to all printers; things like B&W and duplex settings. To accomplish this add the Print role to your 2012 server as described in my instructions below:

Server Manager > Add Roles and Features > click through and then select Print and Documentation Services

To actually migrate the printers from 2003 to 2012 (which you will need to do first even if you are changing settings and drivers) follow this guide which I like: http://www.urtech.ca/2013/06/solved-how-to-migrate-printers-into-server-2012/

After that, you can set the settings you want on your base/vanilla printers then export these settings and re-import them to all the rest of the printers. How you export the settings is described in detail here: http://technet.microsoft.com/en-us/library/cc722360.aspx

Although the link applies to 2008, it will work for 2012.

Solution 2:

You can use Get-PrintConfiguration and Set-PrintConfiguration to do this on Windows 2012 R2 and onwards.

For settings not unique to a driver:

Set-PrintConfiguration -Duplex TwoSidedLongEdge -Collate $true -Color $false -PrinterName "Printer A"

Copying Advanced>Printing Defaults settings from one printer to others with the same driver:

$printConfiguration = Get-PrintConfiguration -PrinterName "Printer A"
Set-PrintConfiguration -PrinterName "Printer B" -PrintTicketXml $printConfiguration.PrintTicketXML
Set-PrintConfiguration -PrinterName "Printer C" -PrintTicketXml $printConfiguration.PrintTicketXML

I had to right click PowerShell and Run as Administrator for this to work.