Troubleshooting Printer Problemsby Mitch Tulloch, author of Windows Server Hacks
Probably nothing annoys users more than when they can't print. And probably nothing annoys administrators more than when users complain they can't print. As a result, being able to quickly troubleshoot printing problems is an essential skill if administrators are to keep their users happy, or at least placated.
Before we look at some printer troubleshooting techniques, however, let's briefly look at the improvements to printing in Windows Server 2003. One such improvement is that the Print Spooler service is now configured for automatic recovery should the service fail for some reason (see Figure 1).
Configuring is different than in Windows Server 2000, where no recovery options are configured for this service. The result of the new setting is that transient printing problems tend to fix themselves when the spooler restarts. This reduces the need for troubleshooting problems that cause the spooler to fail more than twice in a row.
Figure 1. Automatic recovery settings for the Print Spooler service in Windows Server 2003.
Other improvements in Windows Server 2003 include
- kernel mode blocking for print drivers, which uses Group Policy to prevent installation of additional older NT-style print drivers that run in the kernel context (existing kernel mode drivers are unaffected, however);
- enhanced printer redirection when using Terminal services; and
- easier configuration and management of print clusters.
Yet despite these enhancements, printing can still break down due to a variety of reasons. Let's explore ways to troubleshoot printing problems from two angles: how and who.
How Can Printing Fail?
Printing problems basically have four possible sources, and a big part of the art of printer troubleshooting involves narrowing down those choices until the guilty culprit is found. They are:
The problem could be with the client computer. This could mean a problem with the printer driver, a misconfiguration of the application trying to print, misconfigured printer settings, a spooler being out of space, and so on.
The problem could be with the print server. This could mean a problem with the printer driver, a bad network card, the wrong IP address, a spooler being out of space, and so on.
The problem could be with the print device itself. This could mean a paper jam, the printer being out of toner, its plug being kicked out of the wall, and so on.
The problem could be with the network. This could mean a switch or router problem, a cable being kicked out of the wall, the lack of a DHCP reservation for the printer network card, and so on.
The best place to start is usually your own administrator workstation. Log on with your ordinary user account (not your administrator account, as it may have more privileges than the user account with regard to printing) and try printing. If this works, then the problem is probably with the user's machine, so go there next and try to troubleshoot the problem, or use Remote Assistance or Remote Desktop if they are enabled. If you can't print from your own workstation, try pinging the printer's IP address to see whether the network may be down. If pinging works, open the status page for the printer on your print server and look for clues about what's gone wrong. Checking the event logs on the print server can also be useful. If everything seems fine with the print server and the network, check the printer itself to see whether a yellow light is blinking or something similar indicating a problem.
Who Is Unable to Print?
Another helpful question to ask at the start of your troubleshooting is who is unable to print to the affected printer. Typically there are three possible answers:
If no one can print to the affected printer, you can skip the client portion of troubleshooting and focus on the network, the print server, and the print device itself. Sometimes the print queue can get clogged with bad .spl or .shd files that have to be cleared. To clear such files manually, first try restarting the Print Spooler service. If that fails, stop the service, delete the files, and restart the service. Also check to make sure the print queue hasn't been paused, and if you find any documents in the queue that display "Error--Printing" as their status, cancel those documents. Then check all the other things: network connectivity, available disk space for the spooler, and so on. Also check the time the print server was last reconfigured, in case an administrator error caused the problem.
Ask what these users have in common. For example, if they are all on the same subnet or in the same work area, the network might have a routing or switch problem. If they all belong to the same security group, it could be a permissions issue for that group; in that case, check both the printer permissions and the spool folder permissions for the group. And if they are all using the same desktop application for printing, the problem could be with the application settings.
Check whether the user has accidentally kicked his network cable out of its socket. Check whether he has recently reconfigured his application settings or printer settings. Check whether his computer has sufficient free disk space for spooling. And look at any error messages generated on the user's screen when he tries to print.
Have a Recovery Plan
Finally, if printer problems are widespread and can't be resolved immediately, consider implementing your recovery plan for printing problems. At the conclusion of a previous article, Upgrading and Migrating Print Servers, I mention how administrators can use Print Migrator, a free tool from Microsoft, to save the configuration of their printers for easy recovery when a disaster occurs. In that case, if your print server fails you can simply restore your print server configuration to an alternate server, reassign the new print server to the same IP address as your old print server, and let users go on printing as usual with everyone happy--especially you, the administrator!
Return to WindowsDevCenter.com.