I have a login script that can unmap/remap printers and set the default printer via a centrally-managed lookup table (computer=printer) or via a local environment variable. The environment variable can reference a network OR local printer. The printer mapping logic also allows defining what I refer to as "Default-Eligible" status. You can have a primary printer that's default (by default) and the user's default printer can change as additional printers are mapped, right down to the definitions noted above.

This is a commercial product, written in Kix, and tokenized (no mods), but you can extend it with code you write that's dynamically loaded and executed, including access to internal vars for key information. Fully documented in a 71-page user manual, it's free for use in networks with 1-2 domain controllers, and licensed by DC in larger environments.

That said - you could identify and record the current default printer NAME somewhere, then after changing the printers, match the saved name to the current printer share and set that as default. I've deployed my script in many environments where I had to deal with infrastructure upgrades and migrations with relative ease. PM me if you want to check out the user guide. I am just putting my website back online with my tools and UDF library after a nearly 4-year hiatus.

Glenn
_________________________
Actually I am a Rocket Scientist! \:D