Creating a script to map users to Printers

We've got a Windows 2003 Server environment with users on XP. No print server on site. All the users are connected vto the various printers in the office via driect TCP/IP printing. We've got a got a situation goiong on where we're going to end up having to change the IP addresses on some of the printers. Rather than have to manually map each user to the new IP address, is there a way we can implement an script or policy of some sort that would make it such that when thye user logs in, they are automatically re-mapped to the new IP address? Maybe have this script apply to different groups or OUs somehow?

Assign each printer a name and create a DNS entry for its current IP
address (ie. PRNT-ADMIN1 = 192.168.1.10).
Change the clients to use the host name instead of the IP address
(create new TCP/IP Port & change existing printer to use new port).
Change the IP address whenever you want. The clients are using the
printer name, so as long as DNS resolution works they'll be able to
print.

If you're trying to use a GPO you need to make sure there is a relation
between the OUs and printer locations, but different users may still
prefer to have different default printers from what you put in the
script. If you need to change all of the clients anyway, you may want
to consider adding a print server now. Then you could do a script to
delete all printers from the client & get them to use right-click &
Connect on the print server to add the printers they want to use.

It goes in DNS not AD - the same way you create a DNS host (A) record for any other device like a server so everyone can find it on the network. This is the first step so you can change all of the clients to send print jobs to the printer name instead of the IP address directly. Once all the clients are changed you can then change the IP in the printer itself & the DNS record. Since the clients are printing to the name it doesn't matter what the IP is anymore.
You've been able to publish printers in AD since Windows 2000 and then users can search for printers based on certain criteria. You can use any server or XP to act as a print server by installing the printers on them & then sharing it out, or you can use the actual Print Server role for Windows 2003 to give some other control options.
http://www.microsoft.com/windowsserver2003/technol ogies/print/default.mspxhttp://www.windowsnetworking.com/articles_tutorial s/Managing-Printers-Windows-Server-2003-R2.html

You might also consider writing a KIX script an add it into the user profile as a login script. This is how i handle it at my office. it also allows me to control who is printing to which printer based on what security groups they are in. For example we do not want everyone to have access to the color printer, so we have a security group for color printing. Takes a little time to set up, but once it is running you are able to handle everythign within AD

IF you have KIX running on a server it is writing a simple batch file. here is the example of the .bat file i have running:
\\(SERVER)\aar_scripts\kix32.exe \\(SERVER)\aar_scripts\arb-1.kix
This file will start the KIX program and look to the .kix file for instruction. The kix file can be written in notepad.
Here is a sample of our kix file for mapping our printers:
SETCONSOLE ("hide")
;Display "\\10.80.60.35\aar_scripts\WelcomeA2.txt"
$Message = "Welcome to Ann Arbor Radio" + chr(10) + chr(10) + "Home of WLBY, WQKL, WTKA, And WWWW!
"MessageBox ($Message, "Welcome", 64, 6)

If INGROUP ("aar\users")
addprinterconnection ("\\(Server)\aarp1")
addprinterconnection ("\\(Server)\aarp2")
addprinterconnection ("\\(Server)\aarp3")
addprinterconnection ("\\(Server)\aarp7")
addprinterconnection ("\\(Server)\aarp9")
endif
if ingroup ("aar\traffic")
addprinterconnection ("\\(Server)\traffic")
endif
Here is the link to the KIX website, they have a lot of good info on writting the scripts, you can also do a google search an find good material.
http://www.kixtart.org/Hope that helps.