Jump to content

Print Server - "Universal Print Drivers" or many different individual drivers??????


Recommended Posts

Posted

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!

Posted
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.
Posted
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.
Posted
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.

Posted

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.

Posted
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.

Posted
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)
  • 2 weeks later...
Posted

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.

  • Thanks 1
Posted (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 by sister_annex
I'm a pedant!
Posted

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

  • Thanks 1
Posted

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

  • Thanks 1
Posted
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.

Posted
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.

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...