Printer Management
Microsoft Print Migrator 3.1
Summary
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.
Overview
Merging and Overwriting Printer Configurations
Full Command Line Operation
Using Print Migrator 3.1
Special Considerations
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:
·
Printers
·
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
Printer
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 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 |
No |
Yes |
Yes |
Yes |
Yes |
Yes |
|
Windows 2000 |
Yes |
Yes |
Yes |
Yes |
No* |
No* |
|
Windows Server 2003 |
Yes |
Yes |
Yes |
No |
No |
No |
Note: These ports may be present on a Windows 2000
system that was upgraded from Windows NT 4.
Print Drivers
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)
Print Shares
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
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
/b BACKUP
/r
RESTORE
/l LPR2SPM
/i WARNING_SUPPRESS
/?
The /? option displays the command line options to a
console.
/b Backup
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.
/r Restore
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.
Scheduling
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.
Log File
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).
View
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.
Backup
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.
Restore
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.
·
Print 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.
Printer Forms
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.
Simultaneous Connections
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.
Restoration Considerations
Driver Types
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 mixed
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.
Driver Signing
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.
|