burgemaster Posted October 19, 2012 Posted October 19, 2012 Can anyone please advise, We have just under 60 network printers on our print server. They are all either Canon, HP or Samsung. Currently they each have the individual model driver installed for each type/model printer. Meaning we have about 25 different drivers installed. I have now installed three additional drivers, the Canon/HP/Samsung Universal Print Drivers. All printers work with these 3 drivers. Can anyone please suggest before I move all printers over to these 3 drivers and remove the old 25, if this is advised? Would it decrease login time (as a staff member with say 8 different printers would need only 2 drivers installed instead of eight?) Better for the server? UPD driver as fast as individual drivers etc? Thanks in advance!
Ric_ Posted October 19, 2012 Posted October 19, 2012 It would certainly be less to go wrong and you would increase the chance of your clients already having the correct driver installed before printing. Don't forget that the printer drivers don't just reside on the print server in a Windows environment but also on all your clients.
Norphy Posted October 19, 2012 Posted October 19, 2012 The only caveat may be that the specific printer driver model may enable or expose features to that kind of printer (Such as duplexing) whereas the generic printer driver may not. Whether that's important is up to you.
marsdenprimary Posted October 19, 2012 Posted October 19, 2012 If it saves printer hell and faffing around then i'd go for it! Also- have you considered the possibility of reducing your printers rather than the drivers? Sounds like you've got a lot!!
Ric_ Posted October 19, 2012 Posted October 19, 2012 If it saves printer hell and faffing around then i'd go for it! Also- have you considered the possibility of reducing your printers rather than the drivers? Sounds like you've got a lot!! That was my initial thought... where I used to work I reduced the count for 30+ to about 14 by strategically placing MFDs. This also allowed for a nice managed print solution which added extra benefits such as 'follow me' printing and large format/higher quality prints for reduced cost.
ADMaster Posted October 19, 2012 Posted October 19, 2012 Hi burgemaster, In my experience it is best to go with the specific driver when possible. I have had strange errors and documents just not printing correctly when using the HP universal driver. In my setup the drivers are only installed during the first login after the printer is assigned, once they are installed they should not effect log in time.
dhicks Posted October 20, 2012 Posted October 20, 2012 In my experience it is best to go with the specific driver when possible. I have had strange errors and documents just not printing correctly when using the HP universal driver. I'm finding the same thing with the Ricoh universal drivers - if nothing else, they seem horribly slow to respond, so when a user hits "print" there'll be a minute or so's delay while the print driver sorts itself out. I'm planning to distribute single-device drivers around during half term.
mattianuk Posted October 20, 2012 Posted October 20, 2012 I have gone for only upd drivers, the canon pcl6 for photocopiers, HP generic upd (for your HP colour lasers they need to be a different one then the monos, ill dig out on Monday and let you know - the 1515s look like they work with the generic HP drivers, but start saying not enough memory). The samsung monos are using the Samsung upd. All fine and a lot easier. Key thing is to enable features on each printer (duplex for example)
burgemaster Posted November 4, 2012 Author Posted November 4, 2012 Thanks all, Took a lot of work, but we now have all printers on UPDs. Photocopiers still use the speciic drivers as the UPDs didnt support some of the features. Only 6 print drivers installed. We also completely re-did the printer deployment. Before we were using GPP to deploy the printers, but this on windows 7 was dreadful, as all the printer installations were done before the user logs in (synchronous) when some staff with a large number of roaming printers (eg cover supervisers) it would take an age to login. It would sit there at "Processing Group Policy Printers Preferences" until the printers were completely installed. We ditched GPP for printers and went back to a VBS scripts. The scripts run after logon so the logon times have been drastically reduced! A massive improvement, staff should really notice the difference. The two scripts have full event logging, the first installs printers based on Computer location (e.g. IT Suite1) and also individual PC names, the second script installs printers based on group membership. The targeting with GPP was great, but everything is covered in the scripts. Thanks for advice. 1
sister_annex Posted November 4, 2012 Posted November 4, 2012 (edited) @burgemaster would you be able to share your script? We have moved away from GPP due to similar issues you were seeing. A working script would be a great starter for 10 for us, especially if it reduces logon times Edited November 4, 2012 by sister_annex I'm a pedant!
burgemaster Posted November 4, 2012 Author Posted November 4, 2012 ofcourse, i have removed most of the printers but left a few in there so you can see whats going on: First the script that deletes all installed printers (not local) and then maps printers based on computer location (set in the "environmental variables", eg LOCATION=IT1. We used GP to do this) and also maps printers for individual stray PCs: on error resume next Set shell= WScript.CreateObject("WScript.Shell") Set WshNetwork = WScript.CreateObject("WScript.Network") dim Counter, PrinterPath dim strResult, strLocation, strComputer 'Remove All Network Printers. Const EVENT_SUCCESS = 0 Const EVENT_FAILURE = 1 Const EVENT_WARNING = 2 Const EVENT_INFORMATION = 4 function LogtoEvent (MSG,success) select case success case 1 shell.LogEvent EVENT_SUCCESS, MSG ' 1 is a success case 0 shell.LogEvent EVENT_FAILURE, MSG ' 0 is a error case 2 shell.LogEvent EVENT_WARNING, MSG ' 2 is a warning case 3 shell.LogEvent EVENT_INFORMATION, MSG ' do not use end select end function Set oPrinters = WshNetwork.EnumPrinterConnections FOR Counter = 0 to oPrinters.Count - 1 IF mid(oPrinters.Item(Counter), 1, 2) = "\\" THEN PrinterPath = oPrinters.Item(Counter) WshNetwork.RemovePrinterConnection PrinterPath, True, True End If Next 'Add Network Printers based on Location set in Environment Variables strLocation = shell.ExpandEnvironmentStrings("%LOCATION%") strComputer = shell.ExpandEnvironmentStrings("%COMPUTERNAME%") LogtoEvent "Printer STAFF COMPUTER Script Starting for: " & strComputer,1 select case strComputer case "S21" addPrinter "\\printserver\Music - Photocopier",true case "M12" addPrinter "\\printserver\M11 Mono",true addPrinter "\\printserver\M11 - Colour - CLP-600",false case "EGR-OFFICE" addPrinter "\\printserver\EGR Office - Colour - HP 1510N",true addPrinter "\\printserver\Main Admin Office - Photocopier",false addPrinter "\\printserver\Site Manager - Mono - HP1320",false end select select case strLocation case "A7" addPrinter "\\printserver\A7 - Mono",true case "ADMINOFFICE" addPrinter "\\printserver\Main Admin Office - Mono - HP1320",true addPrinter "\\printserver\Main Admin Office - Photocopier",false addPrinter "\\printserver\Main Admin Office - Colour - CLP-600",false addPrinter "\\printserver\Reception - Mono - HP2015",false case "ART" addPrinter "\\printserver\Art - Mono - ML-2855",true addPrinter "\\printserver\Art - Samsung CLP-510 Series",false case "BURSAR" addPrinter "\\printserver\Bursar - Mono",true addPrinter "\\printserver\Main Admin Office - Photocopier",false addPrinter "\\printserver\EGR Office - Colour - HP 1510N",false case "STAFFROOM" addPrinter "\\printserver\Staff Room - Mono - Samsung ML3310",True addPrinter "\\printserver\Staff Room - Colour",false end select function addPrinter(strConnectString,isDefault) if strConnectString <> "" then LogtoEvent "Adding printer: " & strConnectString,1 strResult = WshNetwork.AddWindowsPrinterConnection(strConnectString) if isDefault then LogtoEvent "Setting printer: " & strConnectString & " as default",1 WshNetwork.SetDefaultPrinter strConnectString end if end if end function LogtoEvent "Printer STAFF COMPUTER script finished",1 runotherscript "\\LOCATION OF OTHER SCRIPT\Printers_USER.vbs" Sub runotherscript(name) Dim oShell Set oShell = WScript.CreateObject("WSCript.shell") oShell.run name, 1, true Set oShell = Nothing end sub Then the script that is called by the fist script that maps printers based on user group membership: 'Printer vbs for logon script On Error Resume Next Set shell= WScript.CreateObject("WScript.Shell") Set WshNetwork = WScript.CreateObject("WScript.Network") dim Counter, PrinterPath dim strResult, strLocation, strComputer Const EVENT_SUCCESS = 0 Const EVENT_FAILURE = 1 Const EVENT_WARNING = 2 Const EVENT_INFORMATION = 4 function LogtoEvent (MSG,success) select case success case 1 shell.LogEvent EVENT_SUCCESS, MSG ' 1 is a success case 0 shell.LogEvent EVENT_FAILURE, MSG ' 0 is a error case 2 shell.LogEvent EVENT_WARNING, MSG ' 2 is a warning case 3 shell.LogEvent EVENT_INFORMATION, MSG ' do not use end select end function wscript.sleep(1000) '1 second 'determines the user who just logged on Set objSysInfo = CreateObject("ADSystemInfo") Set objNetwork = CreateObject("Wscript.Network") strUserPath = "LDAP://" & objSysInfo.UserName Set objUser = GetObject(strUserPath) LogtoEvent "Printer STAFF USER Script Starting for: " & objSysInfo.UserName,1 For Each strGroup in objUser.MemberOf strGroupPath = "LDAP://" & strGroup Set objGroup = GetObject(strGroupPath) strGroupName = objGroup.CN LogtoEvent "Staff Member is in group: " & strGroupName,1 'Mapping of printers by group and set default printer for that group Select Case strGroupName Case "All Staff" objNetwork.AddWindowsPrinterConnection "\\printserver\Reprographics - Mono" objNetwork.AddWindowsPrinterConnection "\\printserver\Reprographics - Colour" Case "Dolphin College" objNetwork.AddWindowsPrinterConnection "\\printserver\Dolphin - Office Mono" objNetwork.AddWindowsPrinterConnection "\\printserver\Library - Colour - CLP600" Case "ICT Teachers" objNetwork.AddWindowsPrinterConnection "\\printserver\Maths ICT Office - Mono" '==========Add addtional case sections for each group above================ End Select next wscript.sleep(100) '0.1 second LogtoEvent "Printer USER script finished",1 1
burgemaster Posted November 4, 2012 Author Posted November 4, 2012 Also here is the "Computer startup script" used to set location. In this case applying this to the staffroom PCs to set their location to STAFFROOM: rem *** Copy the setx application from netlogon to c:\ *** copy \\SERVER\netlogon\apps\setx.exe c:\ rem *** Apply setx to change or add the location *** c:\setx.exe LOCATION STAFFROOM -m 1
dhicks Posted November 5, 2012 Posted November 5, 2012 We ditched GPP for printers and went back to a VBS scripts. The scripts run after logon so the logon times have been drastically reduced! I've just managed to get our domain to 2008 functional level after removing the old 2003 DCs, I was thinking to move from login scripts to printers being deployed via active directory as I figured that was the proper way to do things, but after reading the above I think I'll stick with what we have.
edutech4schools Posted November 5, 2012 Posted November 5, 2012 I've just managed to get our domain to 2008 functional level after removing the old 2003 DCs, I was thinking to move from login scripts to printers being deployed via active directory as I figured that was the proper way to do things, but after reading the above I think I'll stick with what we have. We use GPP and its very fast although we do not delete all shared printers and re-install them at every logon.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now