Having used PrintMig to move all my printer and associated queues to a new print server a while ago, I needed to repoint all the client printer connections, and also to bear in mind that all the print queues from a number of old servers had been consolidated onto one print server.

It seems that you're trying to do exactly what I did, and this is the code that helped me... (the names have been changed to protect the extremely guilty!)

Code:
$NewPrint = "newprint01"

$objWMI = GetObject("winmgmts:{impersonationlevel=impersonate}!//" + @WKSTA)
$qryPrinters = "select * from win32_printer where servername is not null"
$colPrinters = $objWMI.ExecQuery($qryPrinters)
For Each $objPrinter In $colPrinters
$Name = $objPrinter.ShareName
$Server = $objPrinter.ServerName
$Attr = $objPrinter.Attributes
;? "\\" + $Server + "\" + $Name + " " + $Attr
If $Server = "\\oldprint01" Or "\\oldprint02" Or "\\oldprint03"
$x = DelPrinterConnection($Server + "\" + $Name)
$x = AddPrinterConnection("\\" + $NewPrint + "\" + $Name)
If $Attr & 4
; ? $Name + " is the default printer."
$x = SetDefaultPrinter("\\" + $NewPrint + "\" + $Name)
Endif
Endif
Next
$objWMI = 0



I just added this into my login script, and as users logged in their printer settings were reset. Hope this helps!
_________________________
================================================
Breaker