A situation came up at work recently where one of our users wanted to make sure that each and every person who logged onto a particular machine would have the same printer set up as their default. Various previous attempts to do this had failed, since there doesn’t seem to be a command-line switch for globally changing the default printer in Windows XP. I floated the problem to a co-worker, who suggested putting a simple batch file in place to run on every user’s Logon. This ended up working beautifully, as follows:
- Create a batch file by going to My Computer, choose the root file path of the hard drive (usually C:), right-click on some empty space and select ‘New Text Document.’
- Next, open your new text document and type in one of the following lines:
- If you have a networked printer, type rundll32 printui.dll,PrintUIEntry /y /n\\%printername%
- If you have a local printer, type rundll32 printui.dll,PrintUIEntry /y /n”%localprintername%”
- Choose ‘Save As’ in Notepad and change the type of file from Text (.txt) to ‘All Files.’ Name it something like ‘printer.bat’ (the ‘printer part is not important, the .bat part is) and save it to the C: drive.
- Go to ‘Start,’ choose ‘Run,’ and type ‘gpedit.msc’ to launch the Management Console.
- Under ‘User Configuration,’ ‘Windows Settings,’ you will find ‘Scripts (Logon / Logoff).’ Double-click on ‘Logon’ in the main window (to the right) and choose ‘Add’ to add a new script.
- Browse for your batch file (should be on C:). You don’t need any additional parameters. At this point, every user that logs in will have their default printer reset to the one you want.