Is it better to map drives and printers to users or computers?
I usually map drives to user, and printers to computers...
Users often sit in different places or even different offices so want to print to any local printer.
They also want to know that Z: gives them the same folder no matter what, otherwise they have to understand networks and server and all that nasty technical stuff....
If you map a drive to a computer but the share/folders have permissions set, it doesn't matter who logs in. They can't get access.
If you want the resource tied to that specific system, so people can only get to it (or a program needing the particular drive) if they're using that workstation, then you map to a system.
If you want it to travel with that user no matter where they go, you tie it to the user.
You map it out by situation, thinking of it as a resource issue. Is the resource tied to a user or to a particular system (like in a lab, if you only want that printer tied to the workstation so when Bob is in another building or on another floor he isn't printing to a printer ten minutes away.)
I don't know if there is really a best practice for this because it's situational.
In most cases I'd map drives/shares to a user, and the printer (since it's location dependent) to the machine. Unless in your situation you have an application only installed in a particular spot that must have an XYZ drive.