Chapter 14: Administering Network Printers and Print Services

 < Day Day Up > 



Most organizations have a mix of high-volume and low-volume low-cost printers. Typically, the high-volume printers handle the heavy, daily loads of multiple users and the low-volume, low-cost printers handle the print loads of small groups or individual users. Regardless of usage, the print server needs sufficient memory and processing power to handle the print services. In a high-volume environment or an environment in which very large or complex documents are routinely printed, the server may need to be specially configured or dedicated to print services only. Otherwise, print servers typically aren’t expensive or dedicated machines. In fact, many print servers are standard desktop systems that handle other network jobs as well. Just keep in mind that Microsoft Windows Server 2003 and Windows XP Professional give higher priority to file sharing than to print sharing, so if a system handles both services, printing might be slowed to accommodate file services and prevent any file access performance problems.

Print servers must have sufficient disk space to handle print jobs as well. The amount of disk space required depends on the size of the print jobs and how long the print queue gets. For best performance, the printer’s spool folder should be on a dedicated drive that isn’t used for any other purpose. A key part of print services administration is maintenance. To maintain and support print services properly, you should keep track of print spooler information and usage statistics. This information helps you determine how print services are performing. Although you are focused on performance issues, you’ll find that there are several useful command-line utilities that help you maintain print servers and troubleshoot printer issues. These utilities are discussed in this chapter.

Obtaining Support and Troubleshooting Information for Printers

Printers are often purchased and deployed without much thought given to how the printers will be used. Someone sees that a printer is needed in an area and a printer is ordered and installed. Sometimes it’s not even an administrator that does the printer ordering and installation, so when you try to manage and maintain it, you may be flying blind. Regardless of how printers were obtained, the administration or support teams should maintain information about the printer’s configuration, including what drivers are available and which drivers are used. You need to check periodically how busy the printer is and if it is handling the workload. You’ll also want to track the printer status, the number of jobs queued and other important information that can help you determine if there are problems. In many cases, this information is also useful for capacity planning.

Tracking Print Drivers and Printer Information

When you want to track detailed information about the printers installed on a system, you can use the PRINTDRIVERINFO command. This command is included in the Windows Server 2003 Resource Kit and is designed to work with local and remote systems.

Getting Driver Details for Support and Troubleshooting

By default, PRINTDRIVERINFO returns the driver information for all printer drivers configured on the local system. This means you could type printdriverinfo at a command prompt and get a complete list of printer drivers for the local computer. As Listing 14-1 shows, the driver information is very detailed:

Listing 14-1: Output from PRINTDRIVERINFO

start example
--------------Report by driver name--------------
Driver Name: hp business inkjet 1100 series
Environment: Windows NT x86
Kernel Mode Driver: FALSE
Using inf : C:\WINDOWS\inf\ntprint.inf
Inbox Driver: FALSE
Driver Technology: Monolithic
Driver Stack File: hpz2ku08.dll , Date:
27/06/2003 , Version: 2.224
Driver Stack File: hpf0uk08.dat , Date: 27/06/2003 , Version: 2.224
Driver Stack File: hpzpm308.dll , Date: 27/06/2003 , Version: 2.224
Driver Stack File: hpfmom08.hlp , Date: 27/06/2003 , Version: 2.224
Driver Stack File: hpzrer08.dll , Date: 27/06/2003 , Version: 2.224
Driver Stack File: hpzl3208.dll , Date: 27/06/2003 , Version: 2.224
Driver Stack File: hpzcfg08.exe , Date: 27/06/2003 , Version: 2.224
Driver Stack File: hpzeng08.exe , Date: 27/06/2003 , Version: 2.224
Driver Stack File: hpzflt08.dll , Date: 27/06/2003 , Version: 2.224
Driver Stack File: hpzime08.dll , Date: 27/06/2003 , Version: 3.02
Driver Stack File: hpzjui08.dll , Date: 27/06/2003 , Version: 2.224
Driver Stack File: hpzpre08.exe , Date: 27/06/2003 , Version: 2.224
Driver Stack File: hpzres08.dll , Date: 27/06/2003 , Version: 0.00
Driver Stack File: hpzvip08.dll , Date: 27/06/2003 , Version: 2.224
Driver Stack File: hpzrm308.dll , Date: 27/06/2003 , Version: 2.224
Driver Stack File: hpwhlmn.dll , Date: 27/06/2003 , Version: 2.213
Driver Stack File: hpwhsvb.dll , Date: 27/06/2003 , Version: 2.213
-=Misc Driver Info=-
DriverPath: C:\WINDOWS\System32\spool\DRIVERS\W32X86\3\hpz2ku08.dll
Data File: C:\WINDOWS\System32\spool\DRIVERS\W32X86\3\hpf0uk08.dat
Config File: C:\WINDOWS\System32\spool\DRIVERS\W32X86\3\hpzpm308.dll
Help file: C:\WINDOWS\System32\spool\DRIVERS\W32X86\3\hpfmom08.hlp
Monitor Name: HPWHLMN
Default Data Type: RAW
end example

If you examine the detailed driver information, you’ll see the following information is included:

  • The printer driver name, such as hp business inkjet 1100 series The printer driver name is the name used by Windows to track the printer driver. The driver used for a printer should match the actual type of printer being used. In this case, the printer is a Hewlett-Packard (HP) Business InkJet 1100 series printer. When you print a document, the application from which you are printing uses the printer driver to translate the document into a file format understandable by the physical print device. If you were having problems with a printer and suspected the wrong driver was loaded, this would be one of the best indicators.

  • The printer driver mode Printer drivers either operate in kernel mode or user mode. In kernel mode, the driver operates like other programs run directly by the operating system. In user mode, the driver runs like programs run by users. Stop errors from kernel mode printer drivers are typically more detailed than those from user mode printer drivers. However, printer drivers operating in kernel mode are more likely to cause system instability if they have problems. Group policy controls whether you are permitted to install kernel-mode printer drivers. In Windows Server 2003, installation of kernel- mode printer drives is blocked by default. In Windows XP Professional, installation of kernel-mode printer drives is not blocked by default. The Disallow Installation Of Printers Using Kernel-Mode Drivers policy is under Local Computer Policy\Computer Configuration\Administrative Templates \Printers.

  • The INF file the printer driver is using Every driver installed on a system has an associated INF file. The INF file is used to configure the printer driver.

  • The print spooler DLL and related data files The specific DLL for the print spooler is specified by the driver path. The spooler has associated data, config and help files. The print spooler is what passes documents that users want printed to the print processor. The print processor in turn creates the raw print data necessary for printing on the print device. This data is in turn passed back to the print spooler so that it can be routed.

  • The printer driver stack files The printer driver stack details all the stack files associated with a particular printer driver. Each file is listed according to creation date and version. Documents are routed (using the print router) from the print spooler to the printer stack, which is also called the print queue. Once in the print queue, documents are referred to as print jobs, which essentially means the documents are tasks for the print spooler to handle.

  • The print monitor being used Each print device has an associated print monitor. Printers that support bi-directional printing have a language monitor that handles two-way communications between the printer and the print spooler as well as a port monitor that controls the I/O port to the printer. These collectively are referred to as the print monitor for a print device. If a printer has an associated language monitor, the name of this monitor is specified and that name is the same as its file name without the .dll extension. If a printer doesn’t have an associated language monitor, the value (Null) is specified. When a document reaches the top of the printer stack, the print monitor is responsible for sending it to the print device. The print device is the physical hardware on which the document is actually printed. Most print devices have their own print monitors, which were created by the manufacturer of the device. A print monitor is required to print to a print device. If the print monitor is corrupted or missing, you might need to reinstall it.

  • The default data type The default type of data used by the printer. Commonly used printer data types include: enhanced metafile (EMF) and RAW. EMF uses the printer control language (PCL) page description language. EMF documents are sent to the print server with minimal preliminary processing and are then processed, which requires more processing on the print server. RAW is commonly used with PostScript printers. RAW documents are fully processed on the client before they are sent to the print server and aren’t modified by the print server.

Checking Specific Printers, Drivers, and Systems

To use PRINTDRIVERINFO to return driver information for remote print servers and network printers, use the /S: parameter followed by the domain name of the server, such as

printdriverinfo /s:corpserver01

Here, you are examining printer driver information on CorpServer01.

PRINTDRIVERINFO also lets you search for a specific driver by name. To do this, you use the /D: parameter followed by the driver name, such as

printdriverinfo /d:"hp business inkjet 1100 series"

Here, you are looking for the HP Business InkJet 1100 series driver information.

Note

Unfortunately, you cannot use a wildcard when specifying the driver name. You must type the full driver name.

If you know the printer name, based on the entry in the Printer And Faxes folder of Control Panel, you can also search for a specific printer by name. Here, you use the /P: parameter followed by the printer name, such as

printdriverinfo /p:"magicolor 2300 dl"

The result is a report from PRINTDRIVERINFO by printer name. This report contains additional information, including the printer name and a printer info section that looks like this:

-=Misc Printer Info=-
Share Name: centralprinter
Port Name: IP_192.168.1.100
Print Processor Name: MIMFPR_B
Data type Name: IMF

The additional information tells you the following:

  • The print share name If the printer is shared over the network, the name is given. By default, the print share name is the first eight characters of the printer name with any spaces omitted.

  • The printer port The port used by the printer. Printers directly connected to a print server use LPT, COM or USB ports. Network-attached printers usually have TCP/IP ports. The default TCP/IP port name shows the IP address of the port. More typically, however, the TCP/IP port name is based on the printer name. This is generally the case for HP printers that are attached to a network.

  • The print processor Each print device has an associated print processor. The print processor is responsible for creating the RAW print data necessary for printing on the print device.

Tracking Print Spooler Information and Usage Statistics

Tracking print spooler information and usage statistics can help you answer these important questions about the print services in your organization:

  • How busy is the print server on average?

  • What is the average size of print jobs?

  • How many print jobs are queued and waiting?

  • What is the current printer status?

  • How long has the print spooler been running?

  • How long has the printer been up?

  • How long has the print server been up?

Why are the answers to these questions important? They’re important because, if you know the answers, you can proactively manage and maintain your organization’s print services. You can also plan for future needs. Thus, rather than being a firefighter who responds only to problems, you’ll be able to stay a step ahead of any major issues, thereby providing a better experience for users throughout your organization.

Getting Spooling Information for Capacity Planning and Troubleshooting

The key tool you’ll use to track print spool information and usage statistics is the SPLINFO command from the Windows Server 2003 Resource Kit. This command has two display modes: summary and verbose. The summary display mode is the default and it shows you the overall statistics for a particular print server. The verbose mode, displayed when you use the /V parameter, adds individual printer details to the summary information.

To see summary information for a print server to which you are logged on, type splinfo at the command prompt. For a remote print server, add the UNC name of the server. If, for instance, you wanted to see the summary statistics for CorpServer03, you would type

splinfo \\corpserver03

Whether you are working with a local or a remote print server, the summary details are similar to Listing 14-2.

Listing 14-2: Standard Output from SPLINFO

start example
Number Local Printers          3
Windows Version 5.1 Build 2600 (Service Pack 1)
Number of Processors 1 PROCESSOR_INTEL Level 15
Total Jobs Spooled 258
Total Bytes Printed 14,512,067,850
Average Bytes/Job 56,248,325
Browse List Requested 0
Browse Printer Added 0
Spooler Up Time 04:17:18
Server Up Time 04:17:52
end example

Note

If there aren’t any printers installed on the system you are checking, SPLINFO will report “No local printers installed.”

Here, three printers are configured on a single-processor system running Windows XP Professional. Although these are referred to as local printers, they aren’t necessarily attached to the computer physically. They could also be network-attached, as is the case for printers that have their own network cards. If you examine the usage statistics, you find that

  • On average, the server prints about one job per minute. That is 258 total print jobs on a print spooler that’s been up for four hours and 17 minutes (257 minutes).

  • The average print job is about 50 megabytes (MB) in size. You can calculate this by dividing the average number of bytes by 1,024 to get the kilobyte (KB) size and then dividing again by 1,024 to get the MB size.

  • In total, about 12 gigabytes (GB) of print data has been spooled over the four hours and 17 minutes.

Here, you have a busy print server that is taking a heavy load, especially considering print services are running on Windows XP Professional (and this is likely a desktop-class system). If you examined the printer statistics over several intervals and after several restarts of the printer/spooler and found the same usage, you would have several causes for concern, because the printer is very busy and the average print job is fairly large at 50 MB. With this level of usage, you would want to monitor the server’s usage and performance closely as discussed in Chapter 7, “Monitoring Processes and Performance.” You would want to dig deeper into the usage statistics, looking at details for each printer configured. You might also want to consider whether print services would perform better on Windows Server 2003 or whether there are additional services being performed that should be moved to another system on the network. After monitoring the system’s performance and usage over a sufficient interval, you might find that

  • Additional memory is required because of the large average size of print jobs.

  • Additional processing power is required because of the number of jobs handled on average.

  • Additional disk space is required or that a dedicated disk drive for the spooler folder is needed.

You might also find that this system is simply one that you should routinely monitor to help ensure smooth print services operations. Here, you could easily automate the monitoring by creating a script that writes the usage statistics to a log file and then scheduling the script to run on a periodic basis as discussed in Chapter 4, “Scheduling Tasks to Run Automatically.”

Getting Detailed Spooler Information for Capacity Planning and Troubleshooting

When you use the /V parameter for the SPLINFO command, you get detailed information on each configured printer. To see how this information is displayed, consider Listing 14-3. Keep in mind that you usually want to monitor printer usage over several days to evaluate any upgrades or changes that might be required. During that time, you might want to stop and then start the spooling to reset the statistics.

Listing 14-3: Verbose Output from SPLINFO

start example
Number Local Printers          3
Windows Version 5.1 Build 2600 (Service Pack 1)
Number of Processors 1 PROCESSOR_INTEL Level 15
Total Jobs Spooled 258
Total Bytes Printed 14,512,067,850
Average Bytes/Job 56,248,325
Browse List Requested 0
Browse Printer Added 0
Spooler Up Time 04:17:18
Server Up Time 04:17:52

Printer Name magicolor 2300 DL
Total Printer Jobs: 96
Total Printed Bytes: 8,451,245,024
Printer Up Time 04:17:21
Number of Jobs in Queue 3
cRef 2
cRefIC 0
Max cRef 5
Number spooling 2
Max Number spooling 3
Printer Started 11/15/2004 16:57 (UTC)
Average Bytes/Job 88,033,802
Printer Change Count ID 28633
Printer Status 0

Printer Name hp businessjet 1100 series
Total Printer Jobs: 162
Total Printed Bytes: 6,060,822,826
Printer Up Time 04:17:21
Number of Jobs in Queue 24
cRef 0
cRefIC 0
Max cRef 1
Number spooling 1
Max Number spooling 2
Printer Started 11/15/2004 16:57 (UTC)
Average Bytes/Job 37,412,486
Printer Change Count ID 43c3c1
Printer Status 0

Printer Name hp officejet 5500 series
Total Printer Jobs: 0
Total Printed Bytes: 0
Printer Up Time 04:17:21
Number of Jobs in Queue 0
cRef 8
cRefIC 0
Max cRef 10
Number spooling 0
Max Number spooling 0
Printer Started 11/15/2004 16:57 (UTC)
Average Bytes/Job 0
Printer Change Count ID 54619b
Printer Status 0
end example

For each printer, you’ll want to examine the following statistics:

  • Total printer jobs Shows how many printer jobs have been processed since the printer was started. Compare the total number of printer jobs to the printer’s “up” time to get a good indicator of how busy the printer really is. The Minolta QMS magicolor color laser printer in the listing handles about 22 print jobs per hour, so it is fairly busy.

  • Total printed bytes Shows the total number of bytes printed since the printer was started. This gives you a good idea of how much data the printer is handling. Compare the total printed bytes to the printer “up” time to get a good indicator of how much data the printer is handling on an hourly or daily basis. The Minolta QMS magicolor color laser printer in the listing handles about 1.84 GB of data per hour.

    Note

    In some printer configurations, print jobs are saved after they’ve been queued. This allows a user to resubmit a document to the printer from the print queue instead of from an application. If you’ve configured a printer to keep print jobs, you’d want to keep close tabs on how much data is being printed on average per hour. This would help you determine how much disk space will be required to maintain print services and give you a good indicator of how frequently you might need to clear old jobs from the print queue.

  • Number of jobs in queue Shows the number of printer jobs queued and waiting to print. Busy printers will typically have several jobs queued and waiting, especially at peak usage times. If you frequently see many jobs waiting to print, however, the printer may be overloaded. In the listing, three printers are configured but only two are being used: a Minolta QMS magicolor color laser printer and an HP Business InkJet printer. Of the two printers, the Business InkJet is used more often and, with 24 print jobs queued, the printer might be overloaded. Here, you could help improve the situation by letting users know about the faster magicolor printer available or perhaps setting the magicolor as the default for some of these users. You might also want to let a select number of users know about the HP OfficeJet printer. However, this printer is more likely someone’s personal printer and it’s just not being used at this time.

  • Average bytes per print job Shows the average size of jobs that are being printed. Most printers have internal memory and ideally you want that memory to be large enough so that entire print jobs can be handed off to the print device. In the listing, the average size of jobs printed to the Minolta QMS magicolor color laser printer is about 84 MB and as the printer has only 32 MB of memory this is a cause for concern. Here, you would probably want to add memory to the print device. Note that you would need to refer to the printer’s config page (which can be printed on the printer itself) to determine its installed RAM.

  • Printer up time Shows how long the printer has been up, meaning the spool and the print queue. This statistic doesn’t show how long the physical print device has been up.



 < Day Day Up > 



Microsoft Windows Command-Line Administrator's Pocket Consultant
MicrosoftВ® WindowsВ® Command-Line Administrators Pocket Consultant
ISBN: 0735620385
EAN: 2147483647
Year: 2004
Pages: 114

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net