Solved

Printer Migration Plan

Posted on 2015-01-18
27
320 Views
Last Modified: 2015-03-09
Hi,
Looking for a project plan on how to migrate a print server to a new one, reason for move because its running on Windows 2003 and it needs to be moved to server 2008, there are 5 Multifunction printers installed on this server, so need to list out what things to consider when moving from old server to new one, dont like to miss out any details :-)
Can be more like in the first part, Planning Phase-->implementation part-->Cut over Phase.

thanks.
0
Comment
Question by:Leo
  • 12
  • 6
  • 6
  • +1
27 Comments
 
LVL 8

Author Comment

by:Leo
Comment Utility
Under the print server settings, there are heaps of drivers, Do i have to download and install all of them on the new server?
Also how the computers will point to new computer server for printing?
Printers.jpg
0
 
LVL 76

Expert Comment

by:arnold
Comment Utility
The first thing to ask from my point of view is how are you currently deploying the printers?  Do you have a PRINTER GPO that pushes them to the user or computer?

The plan is:
1) Add the printers with the requisite drivers to the windows 2008 print server
2) If you are using GPO to push the printers, which Computer or User. Do you have a loopback gpo (not required) but a user GPO could have issues with installing new drivers. You could use a compuer GPO to push the printers initially no issue with driver installation on the computer GPO level. After a week presumably each system would have been rebooted at least once, the Computer GPO printer push could be disabled in favor of the user GPO that pushes the printers.
3) If your AD is using GPP, you have additional option to control printer deployment and setting which is default. Or you would need to use a login script to change the default printer if you do not want to leave this to the user.



The first step would be to configure the print server on the windows 2008 system and then add the printers with the same version of drivers as are installed on the 2003 if possible (32 and 64 bit drives).


......
0
 
LVL 8

Author Comment

by:Leo
Comment Utility
So the picture i attached earlier, i have to install all those drivers on Windows 2008 Server?
0
 
LVL 76

Expert Comment

by:arnold
Comment Utility
Yes.

Though I noticed, that you have few x64 printer drivers on the current print server.

You could add the printers on windows 2008 from the 2003 print server to get the drivers (add printer, windows 2003 server\printer1), and then change the printer for direct access from the 2008 to maintain printer driver version. i.e. add tcp/ip port to the existing printer, or add a printer and follow through that you can not find it in the list, add the tcp/ip port specify the IP and ....... follow through there.
 
Maintaining driver version will make the transition transparent to the user if you deploy printers. This is not always possible.

You could get the newest version of the drivers for the printers from the vendor sites, you do not need install, you could get only the inf file for 32 and 64 bit and add them in.....



You've not answered whether you are currently deploying the printers using GPO/GPP or each user adds the printers on their own.
0
 
LVL 8

Author Comment

by:Leo
Comment Utility
sorry, i was trying to find that answer if printers are deployed through GPO......
So all three printers on windows 2003 are deployed manually.....
all on 3 different floors...
in our institute....printers are deployed through logon script...there is only one logon script.....
one of the printers is dedicated for directors office....would i be able to know which computers (IP Addresses) have added that printer? is there a way of finding that out?
0
 
LVL 76

Assisted Solution

by:arnold
arnold earned 334 total points
Comment Utility
There are scripts available on the net vbscripts/powershell that you can add to a login script in a new GPO that will report back to a file what printers are in use by a user. Depending on the systems you have on the network.

https://msdn.microsoft.com/en-us/library/aa394598%28v=vs.85%29.aspx

You can then use this information, to better manage your printer deployment using GPO and/or GPP combination.


A printer is either deployed or is manually added. Not sure what you mean by manually deployed.

Is your printer deployment based on computer location? Do the computers belong to OUs reflecting the floor they are on?

1st floor computer OU
2nd floor computer OU
3rd floor computer OU


Unless you have a restriction on the Director's printer, anyone can add it though not use.

Do certain users/member of certain groups need access to specific printers that others do not.
i.e.
you can deploy a printer based on the computer in use and its location.
you can then deploy a printer on a per user basis
(look at the print server, deployed printers.) You would need a GPO to which to attach the deploy printer as well as the type of deployment computer based or user based.

you would need a GPO that will use the pushprinterconnection.exe (your best bet is to use a 32bit version) it will work with either 32 or 64 bit as the printer install will get the correct drivers.  using the 64bit version will error out on a 32bit system if any.
if your systems are separated based on OS types (32/64) you can use two separate GPO with one using the 32 bit version of the above command and the other using the 64 bit.
0
 
LVL 32

Assisted Solution

by:Rodney Barnhardt
Rodney Barnhardt earned 166 total points
Comment Utility
Personally, when I did this I manually set up the new printers, with the latest drivers, on the new server.

I then used a login script similar to the one below,attached change the users printers. I manually tested it on a few people before I pushed it out.

'#############################################################################
'
' Name: PrintServerMigrate.vbs
' Author:
' Purpose: Modify Printer Connections
'
' ############################################################################
'
'
Option Explicit
Dim WshNetwork

Dim objNetwork
Dim colprinters
Dim PrinterName
Dim i
Dim oldPrinter
Dim newPrinter
Dim printerfound

' Get a list of currently connected printers
' and scan for the ones we need to change.
' Process each printer as it is found.

Set objNetwork = WScript.CreateObject("WScript.Network")
Set colPrinters = objNetwork.EnumPrinterConnections

'Do Until ColPrinter <> 0
'Set colPrinters = objNetwork.EnumPrinterConnections
'Loop

For i = 0 to colPrinters.Count -1 Step 2
  printerfound = "no"
 
 If UCase(colprinters.Item (i + 1)) = UCase("\\old server name\old printer share name1") Then
     oldPrinter = "\\old server name\old printer share name1"
     newPrinter = "\\new server name\new printer share name1"
     printerfound = "yes"
 End If

If UCase(colprinters.Item (i + 1)) = UCase("\\\\old server name\old printer share name2") Then
     oldPrinter = "\\\\old server name\old printer share name2"
     newPrinter = "\\new server name\new printer share name2"
     printerfound = "yes"
 End If
'WScript.Echo printerfound

If printerfound = "yes" Then
   SwapPrinter
End If
 
Next


'WScript.Echo "Printer conversion is now complete"

WScript.quit

'*****************************
' Begin Subroutines
'*****************************

'******************
Sub  SwapPrinter

Set WshNetwork = CreateObject("WScript.Network")

On Error Resume Next

 

' This line will add the specified printer. You can add more printers if needed.
WshNetwork.AddWindowsPrinterConnection newPrinter

' This line sets the user's default printer.
WshNetwork.SetDefaultPrinter newPrinter

' This line removes the specified printer.
WshNetwork.RemovePrinterConnection oldPrinter



End Sub
0
 
LVL 8

Author Comment

by:Leo
Comment Utility
@Arnold: Computers are deployed based on floor and building locations, in total there are 4 buildings, and on each floor there are generally couple of multifunction printers.
The printers i have mentioned in questions, they are not installed through GPO or login script.
and Directors office printers should be limited to only the Directors Computers OU (there are only 4 computers in this OU), no one else should be able to add this printers,
All new printers are deployed through login script.
in the login script the new printer shares are added and then computers can map to it.
so based on this scenario do I need a GPO that will use the pushprinterconnection.exe?

@Rodney...in that script "
If UCase(colprinters.Item (i + 1)) = UCase("\\\\old server name\old printer share name2") Then "
Reason for share name 2 is because if computer is mapped to 2 printers, right? so share name2 will be second printer name?
0
 
LVL 32

Expert Comment

by:Rodney Barnhardt
Comment Utility
Yes, I was just trying to show how you would continue for multiple, shared printers. The actual share name would go in the place of "old printer share name2". I have done this for a server having over 30 printers. All you have to do is copy and past the last line each time and change the printer names. You just need to make sure you do not make any typos. That is why I recommend running it manually on a few systems to ensure it is right before rolling it out to everyone.
0
 
LVL 8

Author Comment

by:Leo
Comment Utility
so i will keep adding the line "old printer share name2,3,4" for the number of printers which are on the old server?
So it would be same at the end of the script...means

' This line will add the specified printer. You can add more printers if needed.
WshNetwork.AddWindowsPrinterConnection newPrinter

' This line sets the user's default printer.
WshNetwork.SetDefaultPrinter newPrinter

' This line removes the specified printer.
WshNetwork.RemovePrinterConnection oldPrinter





this should reflect the number of printers i add here "old printer share name2,3,4"
right?

Besides i just found this printer script under \\domain\netlogan\, i am not sure if thats the one which is currently used to add printers? can you please review and let me know? how can i find out which script is applied to add printers?
 

Option Explicit
'********************************************************************************************
'*
'*  File:           printmig.vbs
'*  Created:        5 Aug 2008
'*  Version:        1.0
'*
'********************************************************************************************
'* Constants
Const New_Prn_Srv = "\\printsrv3"

'********************************************************************************************
'* Variables
Dim wshShell : Set wshShell = Wscript.CreateObject("Wscript.Shell")
Dim WshNetwork : Set WshNetwork = WScript.CreateObject("WScript.Network")
Dim strCOmputer, objWMIService, colInstalledPrinters, objPrinter
Dim printer, queue, default, Old_Prn_Srv

'********************************************************************************************
'* Start Main Code
On Error Resume Next

strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters =  objWMIService.ExecQuery ("Select * from Win32_Printer")

For Each objPrinter in colInstalledPrinters

    printer = objPrinter.Name
    Old_Prn_Srv = objPrinter.servername
    queue = objPrinter.sharename
    default = objPrinter.Default

    If (Old_Prn_Srv <> "") AND (lcase(Old_Prn_Srv) <> "\\printsrv3") Then

       'fix up old queue names to bring them into standard naming convention
       Select Case lcase(queue)
          Case "qlpc1"
             queue = "clpJ2"
          Case "lp_pcbf1"
             queue = "bpcF1"
          Case "lp_pccb1"
             queue = "cpcB1"
       End Select

       On Error Resume next
       'Try installing the new queue
       WshNetwork.AddWindowsPrinterConnection new_prn_srv & "\" & queue
       If err.number <> 0 Then
          'Error will be returned if driver is not installed first
'          wscript.echo "Printer " & queue & " was not created due to error: " & err.number
       Else
          'Remove the original printer
          WshNetwork.RemovePrinterConnection printer, true, True
          'Set the default printer to the updated queue of the original default.
          If ucase(default) = "TRUE" Then WshNetwork.SetDefaultPrinter new_prn_srv & "\" & queue
       End If
       On Error goto 0
    End If
Next
Set wshshell = nothing
Set wshNetwork = nothing
'* End Main Code
'********************************************************************************************
0
 
LVL 8

Author Comment

by:Leo
Comment Utility
windows 2003 server is running x86 core architect.....new one is running windows 2008 x64...
do i have to installed x64 drivers on windows 2003 server, before migration process?
0
 
LVL 32

Expert Comment

by:Rodney Barnhardt
Comment Utility
To see if the login script is being used, you would need to check you GPO for the domain. Expand "User Configuration, Windows Settings, Scripts(Logon\Logoff)". This script looks like it was used for a similar purpose, as well as to change the naming convention for the printers.

No, you do not need to install x64 drivers on the Windows 2003 server. Just install them on the new server (you will also need to add x86 drivers to if if you have any 32-bit clients), and create the shares. There are tools that can migrate the shares between servers, but the fact you are going from a 32-bit OS to a 64-bit complicates that process. To me, it is better to just install the new drivers and create the shares. I think it is a much cleaner process.
0
Do email signature updates give you a headache?

Do you feel like all of your time is spent managing email signatures? Too busy to visit every user’s desk to make updates? Want high-quality HTML signatures on all devices, including on mobiles and Macs? Then, let Exclaimer solve all your email signature problems today!

 
LVL 8

Author Comment

by:Leo
Comment Utility
https://technet.microsoft.com/en-us/library/774a504a-3957-4e36-8c90-698787add0c9%28v=ws.10%29#BKMK_Step1AccessingMigrationTools

"If you are migrating from the x86-based architecture of Windows Server 2003 or Windows Server 2008 to the x64-based architecture of Windows Server 2008 R2, you should install x64-based drivers on the source server before creating the backup file. The migration process copies all installed drivers from the source server to the destination server. It recreates the printer queues on the destination server if the printer settings file contains the x64-based drivers.

Verify that each print queue on the source server has a driver installed for the operating system on the destination server before creating the printer settings file. For example, if you are migrating an x86-based source print server to an x64-based destination print server, verify that each print queue has an x64-based driver installed before you create the printer settings file. Any print queue that does not have a cross-architecture driver installed will not be migrated to the destination server."
0
 
LVL 8

Author Comment

by:Leo
Comment Utility
On Microsoft they are saying install on source server first?
what should i do? install on Source x64 drivers and then migrate, or install x86 drivers on destination server?
0
 
LVL 76

Expert Comment

by:arnold
Comment Utility
The issue deals with the types of printers and whether their drivers will be present on the client systems.
I.e. Regular/domain users do not have rights to install drivers such that if you push a printer based on the user, they will not be able to print to the printer until the drivers are installed.
The presumption that preserving the current drivers will mean that they are already present as they were previously used.

This is not as much of a concern if you are deploying printers based on a computer GPO which is executed with system level rights and will install any missing printer driver.
0
 
LVL 32

Expert Comment

by:Rodney Barnhardt
Comment Utility
The Microsoft article is written if you intend to use the printer migration tool to migrate\install the shared printers from the old print server to the new print server. In this case, you would need the x64 drivers on the old print server to migrate them to the new print server. I personally, and others may disagree with me, do not like trying to do this from one type of operating system to another. Windows Server 2008 is different from server 2003, especially if you are going to a x64 or R2 version. Many of the drivers that will work on the 2003 server may or may not work on 2008. Therefore, my preference is to manually download, install, configure, and share the printers on the new print server. Then, used the login script to remove the old print server name\share and install the new print server\shares.
0
 
LVL 8

Author Comment

by:Leo
Comment Utility
Instead of migrating the printers, i guess its better to install printers manually on the new server, just want to know what will be procedure for manual creation, means security, config, sharing etc.......
Also how can i test it? means should i create some test users for each floor, go on each floor, change my IP Address for that respective floor, and then test it?
0
 
LVL 76

Expert Comment

by:arnold
Comment Utility
As to installing the printers on the new server, you can add them, often HP drivers are included in the windows update or you can download the vendor specific installs as well as as 32 bit drivers only so they can be included in the additional driver section of the sharing tab of the printer preferences/settings

You need to define the means by which you will be deploying the printers.
The deployment GPO will then needs to be limited to your computer and your username

As to testing, depending on your stracture/setup, you might be able to test by assigning your local system to the OU that matches the floor. Or your username to the user OU.....
0
 
LVL 8

Author Comment

by:Leo
Comment Utility
at my workplace they dont deploy printers by GPO, so if i test it through GPO, it would be of no use :-(
printers are deployed through login script........
0
 
LVL 76

Accepted Solution

by:
arnold earned 334 total points
Comment Utility
Login scripts are part of gPOs or do you have a single ad login script that deploys the printers?

Adjusting if possible to deploying using GPO/GPP was not ........ In pre 2003 if memory .....

As simple.

The control/uniformity ............ Might if suggested be acceptable.
0
 
LVL 32

Expert Comment

by:Rodney Barnhardt
Comment Utility
Once you have the new server built, and the login script created, go to a few users on each floor and manually run the script. This will test the script, as well as the users ability to print after the test. I would look at the properties of each existing printer share, security, etc. and match them on the new print server.
0
 
LVL 8

Author Comment

by:Leo
Comment Utility
@ Arnold: Single Ad Login script which deploys the printers.

@Rodney: the script you attached, i have been asked, that before Option Explicit, add a line.
On Error Resume Next
when i am testing dont include it, and when it goes live, add that line.
Would that be correct?
0
 
LVL 8

Author Comment

by:Leo
Comment Utility
@Rodney: that script is not wroking :-(
means i run it as a batch file, but it doesnt delete the old printer....and it doesn't add the new printer as well.....
0
 
LVL 32

Expert Comment

by:Rodney Barnhardt
Comment Utility
Sorry for the delay. I have a major new year initiative at work I am working on. Have you check the event viewer on the systems you have ran it on for any errors? I would also check the AppLocker event logs.
0
 
LVL 38

Expert Comment

by:Herman D'Hondt
Comment Utility
I've requested that this question be closed as follows:

Accepted answer: 168 points for Rodney Barnhardt's comment #a40566275
Assisted answer: 166 points for Rodney Barnhardt's comment #a40570351
Assisted answer: 166 points for Rodney Barnhardt's comment #a40571969

for the following reason:

This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0

Featured Post

Do email signature updates give you a headache?

Do you feel like all of your time is spent managing email signatures? Too busy to visit every user’s desk to make updates? Want high-quality HTML signatures on all devices, including on mobiles and Macs? Then, let Exclaimer solve all your email signature problems today!

Join & Write a Comment

The password reset disk is often mentioned as the best solution to deal with the lost Windows password problem. In Windows 2008, 7, Vista and XP, a password reset disk can be easily created. But besides Windows 7/Vista/XP, Windows Server 2008 and ot…
You might have come across a situation when you have Exchange 2013 server in two different sites (Production and DR). After adding the Database copy in ECP console it displays Database copy status unknown for the DR exchange server. Issue is strange…
This tutorial will give a an overview on how to deploy remote agents in Backup Exec 2012 to new servers. Click on the Backup Exec button in the upper left corner. From here, are global settings for the application such as connecting to a remote Back…
This tutorial will walk an individual through the steps necessary to install and configure the Windows Server Backup Utility. Directly connect an external storage device such as a USB drive, or CD\DVD burner: If the device is a USB drive, ensure i…

762 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

12 Experts available now in Live!

Get 1:1 Help Now