Sun 21 Mar 2010
Remap printers using wscript
Posted by Internat under VBS/WSCRIPT
No Comments
For work i had to come up with a way to remap printers since our current print server is on the way out.. I was pondering at home about the best way to do this with minimal work for the service desk or for me, and this is what i came up with.. Easy way to map any old printers to new ones.. Just have to update the findnewPrinter function with the old vs new printers..
'Script to map and remove printers from old print server to new one
'Needs an entry in findNewPrinter function for each mapping
'nfrankish;2010-03-21
Set objNetwork = CreateObject("Wscript.Network")
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Function findNewPrinter(Printername)
select case PrinterName
case "\\OldPrintServer\OldPrinterQueue"
findNewPrinter = "\\newprintserver\newprintqueue"
case else
wscript.echo "Printer: " & Printername & " not found"
findNewPrinter = ""
end select
end function
Set colPrinters = objWMIService.ExecQuery _
("Select * From Win32_Printer Where Local = FALSE")
For Each objPrinter in colPrinters
wscript.echo "Printer: " & objprinter.Name & " Default: " & objprinter.default
strNewPrinter = findNewPrinter(objprinter.name)
if not (strNewPrinter = "") then
objNetwork.AddWindowsPRinterConnection strNewPrinter
if (objPrinter.default) then
objNetwork.SetDefaultPrinter strNewPrinter
end if
objNetwork.RemovePrinterConnection objprinter.name, true, true
end if
Next
