A. The following code, which you can download here , searches for a connected network printer and replaces it with an alternate:

                              Option Explicit                              Dim objWMIService, objPrinter, colItems, strComputer, objWshShell,                                 strDefaultState                              strComputer ="."                              Set objWshShell = WScript.CreateObject("WScript.Shell")                              Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")                              ' For Remote:                              ' Set Locator = CreateObject("WbemScripting.SWbemLocator")                               ' Set objWMIService = Locator.ConnectServer(strComputer, "root\cimv2",                                 strUserName, strPassword)                               Set colItems = objWMIService.ExecQuery ("SELECT * FROM Win32_Printer")                              ' On Error Resume Next                              For Each objPrinter In colItems                              If UCase(objPrinter.DeviceID) = UCase("\\savdalprinterOld\printer1") Then                                 Wscript.Echo "Found match " & objPrinter.DeviceID & ", replacing"                                 ' Add new printer. Need the ,1,true to wait for shell to complete before continue                                 objWshShell.Run "rundll32 printui.dll,PrintUIEntry /in /Gw /q /n \\savdaldc01\printerNew",1, true                                 ' Remove the old                                 objWshShell.Run "rundll32 printui.dll,PrintUIEntry /dn /q /n \\savdalprinterOld\printer1",1, true                                 If objPrinter.Default Then ' if it's the default set as default                                   objWshShell.Run "rundll32 printui.dll,PrintUIEntry /y /n \\savdaldc01\printerNew",1, true                                 End If                              End If                               Next                              WScript.Quit                              

You can change the printer the code searches for and what it maps to when it finds a match.