Print Management Guide - Microsoft Print Migrator 3.1
Print Migrator 3.1 is the latest release of this utility, which automates the backup and restore of print configuration data on print servers running Microsoft Windows NT 4, Microsoft Window 2000 and Microsoft Windows Server 2003. Print Migrator 3.1 continues full support for print servers running Microsoft Cluster Services; support for migration between different version of Windows (for example, Windows NT 4 to Windows Server 2003); and support for conversion of line printer remote (LPR) ports to the Standard TCP/IP Port Monitor on Windows 2000, Windows XP, and Windows Server 2003. This paper is designed for systems integrators, administrators, and architects who are planning, deploying, or managing Windows Print Servers.
Microsoft Print Migrator 3.0 introduced three new features not available in earlier versions:
Cross-Operating System Support – Allowing printer configuration between versions of Windows Server.
Microsoft Cluster Services Support – Allowing printer configuration to be moved to or from print servers running Microsoft Cluster Services.
LPR Port Conversion – Automatically converts all LPR ports to the new Standard TCP/IP Port Monitor.
Microsoft Print Migrator 3.1 performs a complete printer configuration backup of a machine running:
· Windows NT 4, SP6a
· Windows 2000, SP2
· Windows XP
· Windows Server 2003
The configuration data is stored in a user specified CAB file. The following data is backed up to the CAB file:
· Printer PortTID_MONITORS
· Print DriversTID_DRIVERS
· Print Shares
· Active Directory Print Objects
In addition to the CAB file, Print Migrator logs status information to the file, pm.log, located at %systemroot%\system32\spool\pm
Local printers created on the target server accept jobs from clients and despool to a physical print device. (Typically these printers despool over the network using a protocol such as TCP/IP.)
Printer Port Monitors
Print Migrator recognizes and backs up the ports that are using one of the following printer port monitors:
· Standard Port Monitor
· LPR Port Monitor
· Apple Talk Port Monitor
· Hewlett-Packard Network Port Monitor
· Lexmark MarkVision Port Monitor (IP/DLC)
· Digital Network Port Monitor
· Hewlett-Packard Jet Admin Port Monitor
· Local Port Monitor
Print Migrator does not back up the actual monitor, only the port attributes. Prior to the restore operation, you must reinstall the original set of port monitors to ensure complete functionality. Print Migrator displays a warning dialog for each monitor which is not present upon restore.
Note: If the /i command line switch is specified or the suppress warning popups checkbox is selected, this information is written to the log file only.
Note: Print Migrator 3.1 does not backup or restore custom forms that may be in use. These should be recreated on the target server after the printer migration is completed.
It is important to note that several port monitor types have been removed during the development of Windows 2000 and Windows Server 2003. The table below lists the network ports that have changed in the Windows NT Server-based products.
Table SEQ Table \* ARABIC 1 - Supported Printer Port Monitors
Standard TCP/IP Port Monitor (SPM)
LPR Port Monitor
AppleTalk Port Monitor
Hewlett-Packard Network Port
Lexmark MarkVision Port
Digital Network Port
Windows NT 4
Windows Server 2003
Note: These ports may be present on a Windows 2000 system that was upgraded from Windows NT 4.
Printer drivers are installed to provide rendering information that the operating system and applications use when creating the actual data file that is sent to the physical print device. There are two ways that printer drivers can be used on a Windows NT-based server:
Primary Driver – This driver is used by the server when Windows NT-based clients are printing and are able to send Enhanced Meta File (EMF) jobs to the server. This allows the print server to perform the rendering functions and frees the client application to return to normal operation more quickly.
Additional Driver – This driver (or set of drivers) is installed on the Windows NT-based server, but is not actually executed by the server. Instead, the driver is ‘vended’ to down-level clients such as Windows 98, or to cross-platform clients like a Windows NT 4 computer running on an Alpha processor and printing to an x86-based Windows Server.
Windows NT 4 Server, Windows 2000, Windows XP, and Windows Server 2003 allow this Primary driver to be linked to the Additional Drivers, creating a point-and-print driver stack. This enables clients running multiple versions of the Windows operating system to simply double-click a shared printer and have the driver installed automatically from the server. More information about Windows Print Drivers and Windows Point and Print can be found at the Windows Print Server website. (http://www.microsoft.com/printserver)
All print shares and user permissions are backed up when performing a backup operation with Print Migrator 3.1.
Print Migrator 3.1 will add the new printer data to the existing data on the target server by default. This allows print server consolidation to be done easily and in an automated fashion. If, however, the goal is to restore a print backup to a server and have only those printers present, simply run cleanspl.exe from the Windows Server 2003 Resource Kit Tools to remove all printers, drivers, ports, etc. from the target server. Then perform the restore from Print Migrator.
Note: When restoring printers that are using Windows NT 4 print drivers (Kernel Mode, Version 2 drivers) to Windows 2000, Windows XP, or Windows Server 2003, the Replace (overwrite) existing printer queues selection is not functional. The checkbox will appear active, but it does not affect the restore function. Due to changes in the location that printer information was stored in the registry, and overwrite would cause other problems with the print subsystem. In this situation, the printers that are present on the target system will have to be deleted manually in the Printers folder, before performing the restore. One can use cleanspl.exe from the Windows Server 2003 Resource Kit Tools, available at http://www.microsoft.com.
Print Migrator 3.1 can be completely run from command line, allowing scriptable operations.
To see a list of the available switches in Print Migrator 3.1, type printmig /? from a command prompt:
Figure SEQ Figure \* ARABIC 2 - Command Line Options for Print Migrator 3.1
If Print Migrator 3.1 is run from command line with any argument other than the target machine name - the graphical user interface (GUI) does pop up, but automatically shuts down when the operation is complete, in order to facilitate scripting.
Explanations of each of the command line switches follow:
/? HELP – Command list
The /? option displays the command line options to a console.
The /b option causes Print Migrator 3.1 to backup the printer configuration of an NT 4, Windows 2000, Windows XP, or Windows Server 2003 computer.
If a target machine name (in the form of \\machinename) is not specified then the local machine is implied.
The /r option causes Print Migrator 3.1 to restore the specified printer configuration of an NT 4, Windows 2000, Windows XP, or Windows Server 2003 to an NT 4, Windows 2000, Windows XP, or Windows Server 2003 machine. Like earlier versions of Print Migrator, version 3.0 only allows like platform restores i.e. x86 to x86.
The default behavior for /r is to merge the printer configuration from the CAB file to the existing printer configuration on the target.
/l LPR to SPM Conversion
The /l option will convert the LPR port to a Standard TCP/IP Port Monitor if the device is present on the network. If the device is not found, an error message will be logged and the LPR port will be migrated. LPR port monitor must be installed on the target server in order for the port(s) to function.
Microsoft recommends converting to the Standard TCP/IP Port Monitor for performance and scalability improvements. See the references section for more information.
/i Suppress Warning Dialogs
The /i option disables warning dialogs that require user intervention (OK, Cancel, etc.). Note that the warnings are still written to the log file.
It is recommended that this option be used when scripting Microsoft Print Migrator 3.1.
Terminal Server Support
Although earlier versions of Print Migrator did not support restore operations to Terminal Server systems, v3.1 provides seamless restores. This functionality is supported by a better logic routine when determining system variables and user variables.
Using the command line interface, Print Migrator 3.1 operations can be scripted and scheduled to occur at a selected time or period without requiring a logged on session.
Multi Threaded GUI
Print Migrator 3.1 was designed as a multithreaded Win32 application. As such, operations that stall or are proceeding slowly in the background will not affect the user interface negatively.
The log file records detailed information regarding backups, restores, and errors encountered. The log filed is stored in %systemroot%\system32\spool\pm\pm.log. If warning dialogs are suppressed, the log file still records warnings and errors.
In the Options menu, Log To Text is enabled by default. De-select this option to disable logging to text file. Note that all information will continue to be output to the Print Migrator 3.1 logging window (lower pane).
The Target… and Restore Local commands enumerate print queue information in tree view format. The title bar identifies the computer that corresponds to the tree view displayed. This computer is the target of all subsequent operations.
To enumerate a remote computer and populate the tree view
1. In the View menu, select Target…
2. In the Target Server box, type the name of the target server, for example \\server1.
To enumerate the local computer and populate the tree view
1. In the View menu, select Restore Local.
Note: Any change to the print subsystem will not be reflected automatically in the current view. To refresh the current view, select View and then Target for a remote server view, or View and then Restore Local for the local print subsystem view.
When backing up the printer configuration from a target server, Print Migrator presents the Printer Configuration Backup dialog window. This is where the location of the cab file to be created will be entered.
To backup from the command line, use the /b < Full Path & CAB file > option, and optionally specify the target machine name as the last parameter on the command line in the form \\server.
To backup from the application’s user interface:
1. In the Actions menu select Backup
2. Manually enter the path and filename of the CAB file to be created, or browse to the desired directory and enter the file name.
3. Select Save and then OK to begin the backup.
As the backup command runs, a progress report is displayed in the lower pane of the Print Migrator 3.1 window. The contents of this report are saved in the pm.log file located in %systemroot%\system32\spool\pm.
Once completed, the cab file contains the related printer registry data and driver files.
Note: If no server name is specified in the Target Server text box, then the operation will be performed on the local system where Print Migrator is running.
When restoring a printer configuration to another server using Print Migrator 3.1, the default behavior is to merge the configuration from the CAB file to the existing configuration on the target machine. Note that this is different from Print Migrator 1.0 – which does an Overwrite of the existing configuration on the target with the configuration from the cab file.
To restore from the command line, use the /r <CAB file> option, and optionally specify the target machine name as the last parameter on the command line in the form \\server.
To restore from the GUI interface:
1. In the Actions menu select Restore
Browse to the directory where the existing CAB file is located.
In the File name edit box, enter the name of the CAB file to be read.
Optionally specify the machine name in the form \\server in the Target server field.
Select all options of interest (Suppress warning popups, Replace (overwrite) existing printer shares, Attempt LPR to SPM Conversion, and Restore file shares).
Hit Enter or select Open from the Printer Configuration Restore dialog to begin the restore.
Note: If no server name is specified in the Target Server text box, then the operation will be performed on the local system where Print Migrator is being run.
Print Migrator 3.1 temporarily stops the Spooler service on the target computer in order to restore print queue information.
Note: This will also cause the Print Services for Macintosh and the TCP/IP Print Services to be stopped as well, during the restore.
Before running the Restore command on a print server, make sure that the following requirements are met:
· The backup computer and the target computer must be running an x86-compatible CPU.
· printer monitor information is consistent with the backup computer. If a monitor is missing, Print Migrator displays a warning, and you must install the monitor or service and run the Restore again.
· The current user must have administrative rights on the target computer.
· If the source is an Windows NT 4 computer, fixprnsv.exe must be run in order to upgrade known-bad kernel mode printer drivers.
Note: More information about using fixprnsv.exe can be found in the Microsoft Knowledge Base article: Q247196 Overview of Fixprnsv.exe
As the Restore command runs, a progress report is displayed in the lower pane of the Print Migrator window. This output is also saved to the log file named pm.log located in %systemroot%\system32\spool\pm.
Note: Print Migrator 3.1 is backwards compatible with cab files created by Print Migrator 2.0 and 1.0. CAB files created with v3.1, however, cannot be read by the earlier versions. CAB files created from a cluster print server backup must be created and read by v3.0, as earlier versions did not provide true cluster support.
Note: Due to improvements that were made during the testing of Print Migrator 3.1 through the limited beta release, the cab file format for cluster print server backups changed. This means that cab files created with a beta release of v3.0 will not work with the final released product. Therefore, it is recommended that new backups are made of these clustered print servers using the final release version of Print Migrator 3.1.
Performing Backups or Restores on a Clustered Print Server
In order to view, backup from, or restore to a cluster, the cluster name must be specified in the form of \\cluster. Running Print Migrator 3.1 on a node of the cluster and specifying no command line arguments will result in the printer configuration from that node being displayed, rather than the cluster’s virtual server. For the particular cluster that Print Migrator is working with, the print spooler resource must have previously been created. Print Migrator will log an error message if it doesn’t find a spooler resource on the specified cluster.
In order to backup from or restore to a cluster remotely, the session that is running Print Migrator must have administrators privilege on the cluster. Using net use or the Print Migrator credential prompt will not gain the proper access to the cluster API’s on the remote cluster. This is because the API’s use WMI and not named pipes.
Creating a print spooler resource on a cluster is relatively straightforward: from Cluster Admin right- click Resources, select Print Spooler as the type, specify a group, then a disk resource, and then a name resource.
For more information about installing a Cluster Spooler Resource, see the Microsoft Knowledge Base article: Q197046 How to Set up a Print Spooler on Microsoft Cluster Server
Note: A cluster machine can only be backed up from or restored to by a single instance of Print Migrator 3.1. Subsequent instances of the Print Migrator application will fail with an error that the temp file could not be created.
Note: It may be necessary to stop and start the Spooler service when restoring printer configuration to a Windows NT 4 system. If the Windows NT 4 system is a Clustered print server, it will be necessary to take the spooler resource offline, then stop and start the spooler, and lastly bring the spooler resource online again.
It is important to be aware of the differences in the print subsystem across multiple versions of the Windows Server products, as well as the different configurations that may be in use. The following sections discuss special configurations that should be given consideration when planning and deploying print servers using Print Migrator 3.1.
Color Printer Profiles
Print Migrator 3.1 does not migrate color profiles.
Print Migrator 3.1 does not backup or restore custom forms that may be in use. These should be recreated on the target server after the printer migration is completed.
Print servers should only be backed up or restored by a single instance of Print Migrator 3.1. Because Print Migrator will stop and start print-related services, simultaneous operations could experience corruption or failure.
Using Print Migrator 3.1 Remotely
Print Migrator 3.1 supports remote operation for backing up and restoring printer configurations from Windows 2000 Server only.
Native Windows 2000 print drivers may not be restored to NT 4 systems. Windows NT 4 print drivers run in the kernel mode space of the operating system, whereas Windows 2000 systems run native print drivers in user mode. To increase backwards compatibility and better interoperability in environment (Windows NT 4 and Windows 2000 and later) Windows 2000 can run kernel mode drivers as well. The end result is that it may be beneficial to continue using the Kernel Mode drivers until the clients and the servers all support User Mode print drivers. (Windows 2000, Windows XP, Windows Server 2003 Family).
Note: User Mode drivers designed for Windows 2000, Windows XP and Windows Server 2003 are referred to as Version 3 drivers. By contrast, the Kernel Mode drivers that are designed for Windows NT 4 are Version 2 drivers.
Print Migrator 3.1 will restore printer drivers to a target server irrespective of the driver signing settings level on the target server.
Merging Duplicate Printer Data
When doing a restore in merge mode, duplicate printer information may collide.
Port Name Collision – Printer port enumeration is done by the print spooler process. Print ports are loaded alphabetically, based on the name of the port monitor. It is possible that two or more ports can be using different port monitors, but have the same port name. In this case, the first port that is initialized will function correctly and subsequent ports with the same name will fail to initialize. For example, if a port using standard TCP/IP port monitor and a port using the LPR port monitor are both named the same, the LPR port would function correctly and the standard TCP/IP port would not. This is because lprmon.dll (LPR port monitor) will be loaded before tcpmon.dll (standard TCP/IP port monitor)
Printer Name Collision – The last printer written to the server with the same name as preexisting printers will be preserved. (Last write wins model)
Printer Share Name Collision – If printers are restored to a server and there is an existing printer with the same printer share name, then neither of these printers will be shared. I To resolve ,select a unique share name for each printer.
Windows NT 4 Operations
Windows NT 4 with Service Pack 6a is required for Print Migrator 3.1 to perform backup and restore operations.
It may be necessary to stop and start the spooler service when restoring printer configuration to a Windows NT 4 system. If the Windows NT 4 system is a clustered print server, it will be necessary to take the spooler resource offline, then stop and start the spooler, and lastly bring the spooler resource online again.