Do you have access to an active directory? If so the way i did was by creating a group called 2nd floor printers and added the users to this group. then i wrote a login script (push with a group policy under user config) the script look something like this On Error Resume Next Dim WshNetwork, WshShell Set objNetwork = CreateObject("Wscript.Network") strUser = objNetwork.UserName Set WshNetwork = WScript.CreateObject("WScript.Network") Set objFSO = CreateObject("Scripting.FileSystemObject") fComputername = WshShell.ExpandEnvironmentStrings("%COMPUTERNAME%") if isMember("2nd Floor Printers")then '******this creates a file so it won't reinstall the printers on next log on************* If objFSO.FileExists("C:\Documents and Settings\" & strUser & "\My Documents\2ndFloorPrinters.tst") then Set objFolder = objFSO.GetFile("C:\Documents and Settings\" & strUser & "\My Documents\2ndFloorPrinters.tst") Else objFSO.CopyFile "\\server001\PrintersScripts\2ndFloorPrinters.tst" , "C:\Documents and Settings\" & strUser & "\My Documents\", OverwriteExisting '*****This deletes all network printers already installed*************************** strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colInstalledPrinters = objWMIService.ExecQuery _ ("Select * from Win32_Printer Where Network = TRUE") For Each objPrinter in colInstalledPrinters objPrinter.Delete_ Next AddPrinter "\\server001\printer001" AddPrinter "\\server001\printer002" End if End if Let me know if this help