Here is a script I used a few months ago it is very useful if you are moving or changing the name of your printer server. The script looks at the current users installed network printers which are retrieved for example as;

\\printserver1\hrprinter
\\printserver1\copier1

If the name of the server matches the variable “from_sv” the printer is removed from the user and a new printer is added using the “to_sv” variable from example if the “to_sv” variable was set to “\\newprintserver;

\\ newprintserver \hrprinter
\\ newprintserver \copier1

The script does not create a queue on the new print server it just removes any reference to the old print server and as long as a queue exists on the new server it adds the printer back on for the user pointing at the new server.

To move all of you printer queue, drivers and ports from one server to another take a look at Microsoft’s free tool Print Migrate

This script works great if called from a logon script! And also works fine on Citrix

Sometimes doing a big bang migration from an old print server to a new one is not the best idea, if you would prefer a more granular approach take a look at this script