• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 216
  • 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 CliftonNet AdminCommented:
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 CliftonNet AdminCommented:
'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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

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