Advertisement
Guest User

script for migrating printers

a guest
Jun 13th, 2014
1,127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1.  
  2.  
  3.  
  4.  
  5. #Script for migrating printers
  6. #BTC address 1B62WVgAcpbGcW94B62WB7Lwq32Gto1mTV
  7.  
  8. Option Explicit
  9. Dim objWMIService, objPrinter, colItems, strComputer, objWshShell, strDefaultState
  10.  
  11. strComputer ="."
  12.  
  13. ' --------------------------------------------
  14. Set objWshShell = WScript.CreateObject("WScript.Shell")
  15.  
  16. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
  17. ' For Remote:
  18. ' Set Locator = CreateObject("WbemScripting.SWbemLocator")
  19. ' Set objWMIService = Locator.ConnectServer(strComputer, "root\cimv2", strUserName, strPassword)
  20.  
  21. Set colItems = objWMIService.ExecQuery ("SELECT * FROM Win32_Printer")
  22.  
  23. ' On Error Resume Next
  24. For Each objPrinter In colItems
  25. If UCase(objPrinter.DeviceID) = UCase("\\oldprintserver\oldprintername") Then
  26.  
  27. ' Add new printer. Need the ,1,true to wait for shell to complete before continue
  28. objWshShell.Run "rundll32 printui.dll,PrintUIEntry /in /q /Gw /n \\newprintserver\newprintername",0, true
  29.  
  30. ' Remove the old
  31. objWshShell.Run "rundll32 printui.dll,PrintUIEntry /dn /q /n \\oldprintserver\oldprintername",1, true
  32.  
  33. If objPrinter.Default Then ' if it's the default set as default
  34. objWshShell.Run "rundll32 printui.dll,PrintUIEntry /y /n \\newprintserver\PRT-thing",1, true
  35. End If
  36.  
  37. End If
  38.  
  39. If UCase(objPrinter.DeviceID) = UCase("\\oldprintserver\oldprintername") Then
  40.  
  41. ' Add new printer. Need the ,1,true to wait for shell to complete before continue
  42. objWshShell.Run "rundll32 printui.dll,PrintUIEntry /in /Gw /q /n \\newprintserver\newprintername",1, true
  43.  
  44. ' Remove the old
  45. objWshShell.Run "rundll32 printui.dll,PrintUIEntry /dn /q /n \\oldprintserver\oldprintername",1, true
  46.  
  47. If objPrinter.Default Then ' if it's the default set as default
  48. objWshShell.Run "rundll32 printui.dll,PrintUIEntry /y /n \\newprintserver\newprintername",1, true
  49. End If
  50.  
  51. End If
  52.  
  53. Next
  54.  
  55. WScript.Quit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement