I have a similar setup and I find it works really well. I use start-up batch file scripts setup so that the different groups in Active Directory install different printers at start-up by running the correct script for the room grouping. I also use two different drivers and mappings on the server to the same printer, one for mono and one for colour. For the mono I use the equivalent mono make of printers at the times driver.
Code:
rundll32 printui.dll,PrintUIEntry /dl /n "HP Color LaserJet 3700 in D26" /q
rundll32 printui.dll,PrintUIEntry /dl /n "HP B&W LaserJet 3700 in D26" /q
rundll32 printui.dll,PrintUIEntry /u /if /b "HP Color LaserJet 3700 in D26" /f "\\jogdom.local\NETLOGON\InstallPrinters\Drivers\HP LJ 3700n\hpc3700c.inf" /r "\\JOGSERV01\hp3700n-002$" /m "HP Color LaserJet 3700 PCL 6" /q
rundll32 printui.dll,PrintUIEntry /u /if /b "HP B&W LaserJet 3700 in D26" /f "\\jogdom.local\NETLOGON\InstallPrinters\Drivers\HP LJ 24x0\hpc24x0c.INF" /r "\\JOGSERV01\hp3700n-002BW$" /m "HP LaserJet 2420 PCL 6" /q
rundll32 printui.dll,PrintUIEntry /y /n "HP B&W LaserJet 3700 in D26" /q
The first 2 commands delete any existing copies of the printers if already installed the second 2 install the correct printers, network path and drivers. The last one as you know sets the mono as the default printer name for windows to use.
p.s. Be warned that parts of the script are case sensitive as I found out the long way after days experimenting. I think it’s because the driver file printer name/description must be an exact match to find the driver in the *.INF file!!!!