Solved

Printing Migration

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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

On a regular basis I get questions about slow RDP performance, RDP connection problems, strange errors and even BSOD, remote computers freezing or restarting after initiation of a remote session. In a lot of this cases the quick solutions made b…
When you upgrade from Windows 8 to 8.1 or to Windows 10 or if you are like me you are on the Insider Program you may find yourself with many 450MB recovery partitions.  With a traditional disk that may not be a problem but with relatively smaller SS…
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…
With the advent of Windows 10, Microsoft is pushing a Get Windows 10 icon into the notification area (system tray) of qualifying computers. There are many reasons for wanting to remove this icon. This two-part Experts Exchange video Micro Tutorial s…

757 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

17 Experts available now in Live!

Get 1:1 Help Now