Skip to main content

How to add a shared printer on a server using Group Policy Preferences

Group Policy Preferences is a great place to add a printer to your clients.  The question here is how to do it for a printer that is shared on a server.  For this example, I created a printer on my server called Network Printer 1.  I also shared this printer and then made it searchable by listing it in Active Directory.  To list your printer in Active Directory:
Open the Control Panel \ Hardware \ Devices and Printers.
Right click the printer and click Printer Preferences.
Click the Sharing tab.
image
Check the box for List in the directory.
You can test the publishing in Active Directory by going to your client (Windows 7 client in this case).
Click Start \ Devices and Printers.
Click Add a Printer on the menu bar.
Select Add a network, wireless, or Bluetooth printer.
The printer that you published should appear.
That is nice, but the objective here is to be able to share this printer using group policy.
We are going to create a new Group Policy Object for this deployment.  On your Windows 2008 R2 Server, click Start \ Administrative Tools \ Group Policy Management.
If needed , expand the hierarchy until you see a container called Group Policy Objects.  Go ahead and expand it.
Right click Group Policy Objects  and select New.
Give the policy a name. In this case, we will call it SharedServerPrinters.
Click OK.
You will see the GPO listed under the Group Policy Objects container.  Right click it and select Edit.
Expand User Configuration \ Preferences \ Control Panel Settings
Right click Printers \ New \ Shared Printer
In the Action drop down list, select Create.
In the Share Path, click the […] button.
image
Here is where publishing the printer in Active Directory helps out.  The Find Custom Search windows opens.  Instead of having to search for the printer, look in the box at the bottom of the Find Custom Search window.  It list the printer that we want to share.  Click that printer and then click OK
image
You can set this as the default printer for the user by checking the Set this printer as the default printer check box or just add the printer to the list of printers available to this user.
Click OK
Close the Group Policy Management Editor
Now for a best practice.  Since we only configured a portion of the User configuration, we are going to disable the computer portion of this GPO.  Click under Group Policy Objects, the gpo you just created.
Click the Details tab
In the GPO Status drop down box, select Computer configuration settings disabled.
 image
Click OK.
We now need to link this GPO to an Organizational unit that contains a user account that you want this printer to be made available to.  To do this, simply drag and drop the GPO onto an OU that holds your users.  Remember, you can link this GPO to multiple OUs. Click OK to confirm the link.
It is now time to log into your Windows 7 client with one of the user accounts that you linked the GPO to.
Now, click Start \ Devices and printers
You should now see the printer listed on your client.
image
If not, open a command prompt and type GPUpdate / force.  If this did not work, it may mean the replication of the group policies have not yet reached the domain controller that your client is pulling its group policies from.  This can take up to 2 hours, but more than likely will happen faster.

Comments

Popular posts from this blog

Adding a Comment to a GPO with PowerShell

As I'm writing this article, I'm also writing a customization for a PowerShell course I'm teaching next week in Phoenix.  This customization deals with Group Policy and PowerShell.  For those of you who attend my classes may already know this, but I sit their and try to ask the questions to myself that others may ask as I present the material.  I finished up my customization a few hours ago and then I realized that I did not add in how to put a comment on a GPO.  This is a feature that many Group Policy Administrators may not be aware of. This past summer I attended a presentation at TechEd on Group Policy.  One organization in the crowd had over 5,000 Group Policies.  In an environment like that, the comment section can be priceless.  I always like to write in the comment section why I created the policy so I know its purpose next week after I've completed 50 other tasks and can't remember what I did 5 minutes ago. In the Group Policy module for PowerShell V3, th

Return duplicate values from a collection with PowerShell

If you have a collection of objects and you want to remove any duplicate items, it is fairly simple. # Create a collection with duplicate values $Set1 = 1 , 1 , 2 , 2 , 3 , 4 , 5 , 6 , 7 , 1 , 2   # Remove the duplicate values. $Set1 | Select-Object -Unique 1 2 3 4 5 6 7 What if you want only the duplicate values and nothing else? # Create a collection with duplicate values $Set1 = 1 , 1 , 2 , 2 , 3 , 4 , 5 , 6 , 7 , 1 , 2   #Create a second collection with duplicate values removed. $Set2 = $Set1 | Select-Object -Unique   # Return only the duplicate values. ( Compare-Object -ReferenceObject $Set2 -DifferenceObject $Set1 ) . InputObject | Select-Object – Unique 1 2 This works with objects as well as numbers.  The first command creates a collection with 2 duplicates of both 1 and 2.   The second command creates another collection with the duplicates filtered out.  The Compare-Object cmdlet will first find items that are diffe

How to list all the AD LDS instances on a server

AD LDS allows you to provide directory services to applications that are free of the confines of Active Directory.  To list all the AD LDS instances on a server, follow this procedure: Log into the server in question Open a command prompt. Type dsdbutil and press Enter Type List Instances and press Enter . You will receive a list of the instance name, both the LDAP and SSL port numbers, the location of the database, and its status.