Jump to content

Deploying printers to specific users via GPO (2003 R2)


Recommended Posts

Posted

I'm using group policy to deploy printers and (apart from a bit of IE wierdness with certain drivers) it's _very_ handy.

 

But I need a printer deploying to two people only.

 

I could create another OU under the Staff OU in AD, place the two users in it, attach a blank GPO to the new OU and then deploy the printer using the blank GPO. But this seems a bit clunky - is there a better (more elegant) way?

Posted
You could assign them a startup script which maps the printers although that isn't any more elegant than creating a new GPO and using the printer deployment wizard.
Posted
Surely a security filter would be the most sensible way of doing it? Remove authenticated users and add the two users you want to deploy the printer(s) to.
Posted

@Norphy

yeah, that's the other option I could think of. I'm trying to avoid scripting where possible.

 

@Ric/Geoff

yeah, I'm being thick. Add the new GPO to the default staff OU and then filter.

 

I can't filter on the existing GPO, because printers are deployed to BaseStaffConfig (which holds what you think) and everyone needs that.

 

Cheers.

Posted
I use a vbs run on startup via GPO that checks the 1st 4 chars of the computer name (ie rm05-01) and assigns the printer specified for that room. PM me if you want a copy of the script
Posted

@midget

yeah, so do I :). Cheers anyway, but I'm trying to do as much as possible without scripting and our admin staff don't move around a lot.

Posted

@Ric,

Yeah, I intend to - that's what I meant by saying:

".. I'm being thick. Add the new GPO to the default staff OU and then filter."

 

Perhaps I should have said "I'll link an additional gpo to the ou and then filter the new gpo to the two members of staff"

 

Cheers All.

Posted

This script will map printers depending on group membership

 


'  printermap.vbs
' VBScript to map different groups to different printer shares.
' Author djm968
' Version 1.2.0 - September 27 2006
' -----------------------------------------------------------------' 
Option Explicit
Dim objNetwork, objUser, CurrentUser, strGroup

Const hu5_Group = "cn=hu5"
Const enwr_Group = "cn=enwr"
Const scgf_group = "cn=scgf"
Const ss_group = "cn=ss"
Const maof_group = "cn=maof"


Set objNetwork = CreateObject("WScript.Network")

Set objUser = CreateObject("ADSystemInfo")
Set CurrentUser = GetObject("LDAP://" & objUser.UserName)
strGroup = LCase(Join(CurrentUser.MemberOf))

If InStr(strGroup, hu5_Group) Then
objNetwork.AddWindowsPrinterConnection("\\NAS01\HU5 Black Laser") 
objNetwork.AddWindowsPrinterConnection("\\NAS01\HU5 Colour Laser") 
objNetwork.SetDefaultPrinter "\\NAS01\HU5 Black Laser"


ElseIf InStr(strGroup, enwr_Group) Then
objNetwork.AddWindowsPrinterConnection("\\NAS01\ENWR Black Laser") 
objNetwork.AddWindowsPrinterConnection("\\NAS01\ENWR Colour Laser") 
objNetwork.SetDefaultPrinter "\\NAS01\ENWR Black Laser" 

ElseIf InStr(strGroup, scgf_Group) Then
objNetwork.AddWindowsPrinterConnection("\\NAS01\SCGF Black Laser") 
objNetwork.AddWindowsPrinterConnection("\\NAS01\SCGF Colour Laser") 
objNetwork.SetDefaultPrinter "\\NAS01\SCGF Black Laser"

ElseIf InStr(strGroup, ss_Group) Then
objNetwork.AddWindowsPrinterConnection("\\NAS01\SS Black Laser") 
objNetwork.AddWindowsPrinterConnection("\\NAS01\SS Colour Laser") 
objNetwork.SetDefaultPrinter "\\NAS01\SS Black Laser"

ElseIf InStr(strGroup, maof_Group) Then
objNetwork.AddWindowsPrinterConnection("\\NAS01\MAOF Black Laser") 
objNetwork.AddWindowsPrinterConnection("\\NAS01\MAOF Colour Laser") 
objNetwork.SetDefaultPrinter "\\NAS01\MAOF Black Laser"

End If
WScript.Quit

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...