Monday, March 20, 2006

Install Printer per workstation not user

Right it begins:
Having recently rebuilt our entire computer network to a windows 2003 domain with XP clients it became necessary to sort out our printer issues once and for all.

Using start-up scripts to map printers.
The problem we are having is this:
Using roaming profiles, when a user logs onto one workstation they get the printer mapped to them, when they log off and move to a different room the keep the printer installed in there profile.

The first solution.
I decided as a quick fix to add an extra start-up script that removes all printers that are not supposed to be installed when the user logs on.
This worked for a while but was very messy needing a lot of scripts.

The Big Idea.
After a long time searching the web for answers I found a few ideas that put together would form the solution, and would not cost anything. First it was necessary to switch everyone over to mandatory profiles (I have been meaning to do this save some space on our servers anyway).

1) I created a folder called printers and inside placed another folder called installed.
2) For each printer I wanted to be installed I created a file with no extension in the format “@@servername@printersharename”
3) Created a simple VB program that checked the ‘installed’ directory for files, upon finding them, replaced the ‘@’ with ‘\’ (‘\’ can’t be used in file names). Then using the shell command mapped the printer.
So far this has sorted the whole issue out.

No comments: