[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 213
  • Last Modified:

Printing Migration

I have recently created a new print server on Windows 2008 and loaded drivers in an effort to move printing off of an old print server.  There are a great deal of printers in 2 different buildings (close by) and the users all use different printers.  I would like the transition to be as painless as possible for myself, the helpdesk guys and the users.  All printers should be able to be installed by end users by browsing the printer share, right clicking and choosing connect.  Has anyone engineered a way to present this transition in an efficient way that reduces interference with the user as much as possible?
0
habs1994
Asked:
habs1994
  • 2
2 Solutions
 
Gabriel CliftonCommented:
Use the Printer Migration Wizard to migrate the printers and settings to the new print server, then use a script to remove all printers on computers that are pointing to the old print server to save confusion on which printer to print to.
0
 
habs1994Author Commented:
PantherTech,
Can you be more specific regarding the script?  I have set up a new print server with settings and drivers already.
0
 
Gabriel CliftonCommented:
'Remove all printers pointing to old PRINTSERVER

On Error Resume Next

Dim arrPrinterName()
Dim strComputer, i, PrintServer
Dim objWMIService, objNetwork, colInstalledPrinters, objPrinter

strComputer = "."
i = 0
PrintServer = "printserver" 'Your Print server name goes here

Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colInstalledPrinters =  objWMIService.ExecQuery _
    ("Select * from Win32_Printer")

	For Each objPrinter in colInstalledPrinters
	'This line is used for trouble shooting
    'Wscript.Echo "Name: " & objPrinter.Name
	
	ReDim Preserve arrPrinterName(i)
	arrPrinterName(i) = objPrinter.Name
		If InStr(arrPrinterName(i), PrintServer) Then
			Set objNetwork = WScript.CreateObject("WScript.Network")
			objNetwork.RemovePrinterConnection arrPrinterName(i)
			i=i+1
		
		Else
			'This line is used for trouble shooting.
			'WScript.Echo  "Name: " & objPrinter.Name
			
		End If

	
Next

Open in new window

0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now