When I first started working with a network, we just set up each staff PC with locally installed printers, even though all the printers were TCP/IP devices. Pupils PCs got their printers mapped as shared network printers using login scripts. We just figured it was easier to set staff up that way in case there was a problem with one of the servers meaning they couldn’t print.
Then along came Windows Server 2003 Release 2 (R2) and one of the nice little technologies that comes with it is the ability to deploy printers in Group Policy. You need to use the DC that has R2 installed to create the GPO, and run PushPrinterConnections.exe in your login or startup script. Still, I found I couldn’t set per user printers, only per machine. This was nevertheless, good enough to allow me to deploy everyone’s printers, even staff.
The latest thing out is with the Vista version of Group Policy Management Console and that is GP Preferences. These let us set the printers for a user yet another way. You can also set a default printer this way.
When going from deployed printers to preferences, the machine account needs to be moved from its existing location in ADUC, to a special OU with a group policy that runs pushprinterconnections.exe with no deployed printers in the GPO. This cleans out all pushed printers from the computer. Then move the account to your OU that has the GPO that makes use of user set Preferences and the right list of printers will come up, running gpupdate /force /boot on the client after each move in ADUC.
Since we have two sites and only one computer suite, the pupils’ computers are now being put into OUs with loopback GPOs that set the printer list and default printer for that user based on the OU of the computer account. This provides a very effective means of providing the correct printers depending on the physical location of the PC.