This script uses the GooeyScript.exe ActiveX control to display a list of printers. The user can then click a printer in the list to make it their default.
This is useful in a Terminal Server environment with roaming users and in roaming user kiosk settings. I make this part of the Windows Group Policy logon script (example included) for the roaming user and they are presented with a list of printers. This lets them change the printer even if they can't view the printer control panel due to policy restriction or are still at the cd-rom in a cup holder level.
There are two scripts: one is just the default printer selection GUI, the other has it integrated with a simple login script.
Update: Added drop-down to select printer - and a way to set where printers show up - in the list or in the form proper. I did this as some of my locations (I didn't notice until I tested this there) have more than 10 printers and without a limiting option, the form beings to go off the screen while listing them. Source code is well commented so that users can change it how they see fit.