Solved

Printing Migration

Posted on 2013-01-14
3
206 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

NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

Question has a verified solution.

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

Many admins will agree: WSUS is is a nice invention but using it on the client side when updating a newly installed computer is still time consuming as you have to do several reboots and furthermore, the procedure of installing updates, rebooting an…
Know what services you can and cannot, should and should not combine on your server.
This video Micro Tutorial explains how to clone a hard drive using a commercial software product for Windows systems called Casper from Future Systems Solutions (FSS). Cloning makes an exact, complete copy of one hard disk drive (HDD) onto another d…
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…

863 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

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now