How can I deploy a printer to clients by using Windows Server 2003 R2?

A. Windows Vista and Longhorn Server will provide printer publishing using native Group Policy. In the interim, Windows 2003 R2 allows printers to be pushed out via Group Policy and a small piece of client-side code that runs as part of the logon process. It looks at Group Policy and checks which printers it should add, then adds them. Your Active Directory (AD) needs to be running the Windows 2003 R2 schema changes that support printer deployment. To deploy printers, follow this process:

First, on the Windows 2003 R2 server, you need to add the Print Management Component:

  1. Start the "Add or Remove Programs" Control Panel applet (Start, Settings, Control Panel, Add or Remove Programs, "Add or Remove Windows Components," "Management and Monitoring Tools," then check the Print Management Component.
  2. Click Next and when prompted, point to the Windows 2003 R2 disk 2 location.
  3. Click Finish.

A new Print Management snap-in is now available in the Administrative Tools folder. To deploy a printer, perform these steps:

  1. Start the Microsoft Management Console (MMC) Print Management snap-in (Start, Programs, Administrative Tools, Print Management).
  2. Expand the Print Servers branch, then expand the print server hosting the printer and select Printers.
  3. Right-click the printer you want to deploy with Group Policy and select "Deploy with Group Policy."
  4. Click Browse to select the Group Policy Object (GPO) name to use.
  5. Click the "new" GPO icon (or select an existing GPO) and name it Deploy Printers. Click OK.
  6. Check either or both "The users that this GPO applies to (per user)" or "The computers that this GPO applies to (per machine)" and click Add.
  7. Click OK to the deploy dialog box.

Make sure the GPO you created (if you created one) is linked to a domain or OU to ensure that users and computers receive the pushed printer. When you open the GPO you'll notice a new Deployed Printers branch, which lists deployed printers in the GPO.

Currently the selected printer won't deploy because the client doesn't understand the Group Policy settings since they're new to R2 and not expected by older clients; you need to configure the PushPrinterConnections.exe utility (found in the %systemroot%\PMCSnap folder) to execute. To do so, perform these steps:

  1. Open the Microsoft Management Console (MMC) Group Policy Object Editor and open the GPO you used for the printer deployment.
  2. If the printer is deployed to users, navigate to User Configuration, Windows Settings, Scripts (Logon/Logoff); if it's deployed to computers, navigate to Computer Configuration, Windows Settings, Scripts (Startup/Shutdown).
  3. Right-click Startup or Logon, and click Properties.
  4. In the Logon Properties or Startup Properties dialog box, click Show Files. The location of the folder used at logon is shown in the Address field (e.g., \\savilltech.com\SysVol\savilltech.com\Policies\\{EAB0039E-A677-4C89-9CF2-053576CDA1FC\}\Machine\Scripts\Startup).
  5. Copy and paste the PushPrinterConnections.exe file from the c:\windows\PMCSnap folder to this location and close the window.
  6. In the Logon Properties or Startup Properties dialog box, click Add.
  7. Enter "PushPrinterConnections.exe" in the Script Name box (to enable logging, enter "–log" in the Script Parameters box). Log files are written to %windir%\Temp\PpcMachine.log (for per-computer connections) and %temp%\PpcUser.log (for per-user connections) on the computer on which the policy is applied).
  8. Click OK

For per-user deployed printers, you now need to log off, then log on; for per-machine printers, you need to restart the targeted computer.

Discuss this Article 1

SJS001
on Sep 18, 2012
Configuration: W2K6 x64 R2, XP x32, Users have Power Users rights, printer install: per machine. Thank you for the information. Gave me a great head start but I ran into some sink holes that maybe you can assist with. The first obstacle encountered was in a domain environment with power user rights. The printer installs correctly under an admin account but not for power users. If the printer is installed with an admin account, and a power user logs into the client PC, they receive an "Access Denied" warning when trying to use the printer. A follow up article might address a second concern: a mix and match of x32 and x64 servers and clients- W2K8 x32/64, W2K3 x32/64, W7 x32,/64, Vista x32/x64, XP x32/64, pushprinterconnections.exe x32/64, and print drivers. Another issue, at least for me, was that users needed to be added directly to the Printer OU. This was a problem if I wanted to add different printers to a specific PC. Creating a Group and adding it to the Printer OU did now work. Any help is appreciated. Thank you for taking the time to write this article and educate the less gifted.

Please or Register to post comments.

IT/Dev Connections

Las Vegas
September 30th - October 4th

Paul ThurottYou'll have the opportunity to experience:
• The Microsoft
Technology Roadmap
• Office 365 Implementation
• Hyper-V Optimizing
• Windows 8 Deployment
and much more!

Come See Paul Thurrott & Rod Trent in Person!

Early Registration Now Open

Upcoming Training

Mastering System Center 2012

During over 6 hours of training you can join John Savill from your computer as he will walk you through the key components and capabilities of System Center 2012, what’s involved in using the components, and the benefit they can bring to your environment.

Register Now

Current Issue

May 2013 - The NameTranslate object is useful when you need to translate Active Directory object names between different formats, but it's awkward to use from PowerShell. Here's a PowerShell script that eliminates the awkwardness.

CURRENT ISSUE / ARCHIVE / SUBSCRIBE

Windows Forums

Get answers to questions, share tips, and engage with the Windows Community in our Forums.