Solved

Printing Migration

Posted on 2013-01-14
3
207 Views
Last Modified: 2013-04-01
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
Comment
Question by:habs1994
  • 2
3 Comments
 
LVL 13

Assisted Solution

by:Gabriel Clifton
Gabriel Clifton earned 500 total points
ID: 38775151
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
 

Author Comment

by:habs1994
ID: 38805428
PantherTech,
Can you be more specific regarding the script?  I have set up a new print server with settings and drivers already.
0
 
LVL 13

Accepted Solution

by:
Gabriel Clifton earned 500 total points
ID: 38805446
'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

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Welcome to my series of short tips on migrations. Whilst based on Microsoft migrations the same principles can be applied to any type of migration. My first tip Migration Tip #1 – Source Server Health can be found here: http://www.experts-exchang…
Ever notice how you can't use a new drive in Windows without having Windows assigning a Disk Signature?  Ever have a signature collision problem (especially with Virtual Machines?)  This article is intended to help you understand what's going on and…
Windows 8 comes with a dramatically different user interface known as Metro. Notably missing from the new interface is a Start button and Start Menu. Many users do not like it, much preferring the interface of earlier versions — Windows 7, Windows X…
In this video, we discuss why the need for additional vertical screen space has become more important in recent years, namely, due to the transition in the marketplace of 4x3 computer screens to 16x9 and 16x10 screens (so-called widescreen format). …

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question