In tip 8415 ยป How can I set a user's default printer in a batch script and links, we used various methods to set a user's default printer.

I have scripted SetDefPrt.bat to set a user's default printer, and connect it if necessary.

The syntax for using SetDefPrt.bat is:

\[call\] SetDefPrt Printer

Where Printer is either \\ServerName\ShareName, like \\JSI001\HP2250, or \\ServerName\PrinterName, like "\\JSI001.JSIINC.COM\HP Business Inkjet 2250 (PCL5C)".

SetDefPrt.bat contains:

@echo off
if \{%1\}==\{\} @echo Syntax: SetDefPrt Printer&goto :EOF
if exist "%TEMP%\SetDefPrt.vbs" goto doit
@echo.Dim oNwk, sPrt, oArg>"%TEMP%\SetDefPrt.vbs"
@echo.set oArg = Wscript.Arguments>>"%TEMP%\SetDefPrt.vbs"
@echo.sPrt = oArg(0)>>"%TEMP%\SetDefPrt.vbs"
@echo.Set oNwk = CreateObject("WScript.Network")>>"%TEMP%\SetDefPrt.vbs"
@echo.oNwk.AddWindowsPrinterConnection sPrt>>"%TEMP%\SetDefPrt.vbs"
@echo.oNwk.SetDefaultPrinter sPrt>>"%TEMP%\SetDefPrt.vbs"
@echo.WScript.Quit>>"%TEMP%\SetDefPrt.vbs"
:doit
cscript //nologo "%TEMP%\SetDefPrt.vbs" %1