Managing printers, even on a small network, is a mundane task that consumes a considerable amount of time and effort for most IT departments. System administrators often decide against using a dedicated print server because it introduces a single point of failure and duplication of network traffic, and print queues are prone to jamming.
But evolutionary improvements to the print subsystem in both Windows 7 and Server 2008 R2 have enhanced system performance by allowing devices to boot faster, in addition to other benefits provided by upgrading XPS print drivers where available. The Print Management Console affords better management with superior custom filters and more flexible migration options. Location-aware printing is a small but welcome improvement on the client side that will save time for notebook users who frequently move between different sites.
While these dedicated print server concerns are not unfounded, Windows Print Server offers many advantages over direct TCP/IP printing, including but not limited to:
- Point and Print, which prevents users from requiring administrative privileges to install printer drivers and provides simplified driver and configuration management;
- Active Directory integration, which enables access control by user or group, as well as the ability to search for printers in the directory;
- Server-side processing, which prevents users from having to wait for documents to print before shutting down or logging off their machines; and
- Printer Pooling, which allows printers in a pool to be taken offline for maintenance. Users can still print to another device without changing their local settings
Windows Server 2008 R2 builds on these capabilities, adding features such as Printer Driver Isolation, improved printer migration from earlier versions of Windows and management of enterprise-class scanners.
Print Management Console
The Print Management Console (PMC) includes several enhancements to make life easier for print administrators. Print Queue security defaults can now be set at the server level, so that any new print queues added to a server automatically inherit the security settings configured for the server.
Custom search filters are especially useful when managing hundreds of printers hosted across many servers. This feature has been extended in R2 so that administrators can create print queue filters from the printer driver version and provider. Printer driver has been added as a new custom filter type (Figure 1); search criteria include Driver Version, Provider and Language Monitor.
Figure 1: Printer Driver Filter
Printer Driver Isolation
Starting with Windows 2000 v.3, print drivers could be run in user mode, which obviates the risk of running potentially buggy code in kernel mode. In a worst-case scenario, this could cause a server to blue screen.
Windows Server 2008 R2 takes this concept a step further by separating the spooler code (spoolsv.exe) from the drivers (PrintIsolationHost.exe). This has the benefit of ensuring that if a driver crashes, the spooler process continues to run unaffected so that users can continue to print.
All drivers that support isolation are loaded into a single process (PrintIsolationHost.exe) in shared mode. Using the Print Management Console (PMC), drivers can be configured to load into their own PrintIsolationHost.exe process, which can be useful if you have a driver that can’t be upgraded but crashes regularly (Figure 2).
Figure 2: Setting Driver Isolation in PMC
Drivers must be flagged by the manufacturer as compatible with driver isolation to be loaded into PrintIsolationHost.exe. Alternatively, you can enable the Override print driver execution compatibility setting reported by print driver option in Group Policy under Computer Configuration | Administrative Templates | Printers to force legacy drivers to run in the PrintIsolationHost.exe process. All printer drivers that come preloaded with Windows Server 2008 R2 must support driver isolation.
The Print Migration Wizard replaced the Print Migrator Utility in Windows Server 2008 and is integrated into the Print Management Console. The wizard allows you to export printers, settings and drivers to a file, with support for 64-bit drivers, from Windows 2003 Server systems and later.
Improvements in R2 include export and import of configuration information for print servers and queues and enhanced error reporting to the Windows Event Log. The migration wizard can be accessed in the left pane of PMC by right clicking Print Management or individual print servers.
Though the process is a little convoluted, it’s now possible to selectively restore printers from a backup file generated by the migration wizard, including related settings and drivers, using the command line version of the tool (C:\Windows\System32\Spool\Tools\printbrm.exe).
To work with the command line to restore selected printers from a migration wizard backup created with the Export printers to a file option in PMC, make sure that you are logged in to the server as a local administrator. Open a command prompt and then change the working directory to C:\Windows\System32\Spool\Tools\.
First, you need to unpack a backup file (in this example, printers.printerExport), to a directory (c:\drivers) by specifying the –d switch. The printbrm tool doesn’t work with paths specified inside quotation marks, so make sure that any file paths or folders used don’t include any spaces.
printbrm –r –f c:\printers.printerExport –d c:\drivers
Once the drivers and XML configuration files have been unpacked to the specified directory, you can manually remove any elements not required by editing the XML files in the root of the directory (Figure 3).
Figure 3: Migration Wizard Export Files
Now you need to repackage the configuration information in c:\drivers so that it can be restored to a server. In this example, I’ve appended a number to the file name to differentiate it from the original backup file:
printbrm –b –f c:\printers2.printerExport –d c:\drivers
Once the new configuration file has been created, you can import it using the Print Migration Wizard GUI or from the command line as follows:
printbrm –r –f c:\printers2.printerExport
Printbrm.exe gives administrators the ability to opt out of restoring access control lists (ACLs) on print queues when importing by specifying the –NOACL switch. The tool can also be scheduled to export print server configuration on a regular basis to complement a full system backup (Figure 4).
Figure 4: Importing Printers Selectively with PRINTBRM.EXE
Distributed Scan Management
Microsoft has extended the Print and Document Services role in R2 with the ability to manage network scanners that support the Web Services on Devices (WSD) standard. WSD allows devices to advertise their services on a network using Simple Object Access Protocol (SOAP) messages over UDP and HTTP(S), providing a network plug-and-play experience.
Scanners must be additionally categorized as Enterprise WSD Scanners to support post-scan processes (PSPs), such as controlling to whom (e-mail) or where (shared folders or SharePoint sites) the resulting files are delivered. The DSM service can also be used to set how documents are scanned.
Windows 7 Location-Aware Printing
As notebook users connect to different wireless networks at work, home and other locations, a different default printer can be set for each network. Windows 7 (Professional, Enterprise and Ultimate SKUs) remembers the selection to make sure the printer is automatically set as the default whenever the user reconnects to a specific network. This feature is enabled for portable computers, and can also be managed manually if desired in Devices and Printers on the Start menu (Figure 5).
Figure 5: Manual Selection of Default Printers in Windows 7
XPS for Document Fidelity
If XPS (XML Paper Specification) print drivers are available for your device, you can benefit from improvements in the print subsystem, including WYSIWYG support, improved performance and built-in support for advanced color profiles.