Managing Printing Services with NT Server

Archived content. No warranty is made as to technical accuracy. Content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
By Mark Minasi


Chapter 8 from Mastering Windows NT Server 4, published by Sybex, Inc.

Printers are essential in any office where computers are used. I mean, you really don't believe that something is true until you see it on paper, right? (If you don't believe me, wouldn't you feel a little unsure about a notice that you got a raise—delivered via e-mail?) Printers convert all those little electronic bits in your computer into hard copy.

But printers cost money, and, worse yet, they take up space. Laying equipment and toner costs aside, most offices wouldn't have enough office space to give a laser printer to every employee even if they wanted to.

Of course, one solution to the printer management and support problem is a network; hence this chapter. In this chapter, you'll learn about

  • Creating and fine-tuning network printer queues

  • Optimizing the printing process

  • Controlling access to the printer

  • Troubleshooting printing problems

NT Server uses some special vocabulary when discussing printers:

Network-interface printers Whereas other printers connect to the network through a print server that is hooked into the network, network-interface printers are directly connected to the cabling without requiring an intermediary. These printing devices have built-in network cards.

Print server The computer to which the printer is connected and on which the drivers are stored.

Printer The logical printer as perceived by NT Server and NT. As you'll see during this chapter, the ratio of printers to printing devices is not necessarily one to one—you can have one printer and one printing device, one printer and multiple printing devices, or multiple printers and one printing device, or some combination of any of the above. We'll talk about the situations in which you might find each of these arrangements useful.

Printing device The physical printer, that largish box with the display panel from which you pick up documents.

Queue This is a group of documents waiting to be printed. In OS/2, the queue is the primary interface between the application and the printing devices, but in NT Server and NT the printer takes its place.

On This Page

NT-Specific Print Sharing Features
Who Can Be a Print Server?
Adding a Printer
Adding a Second Printer for the Same Print Device
Customizing a Printer's Setup
Connecting to a Shared Printer
Controlling and Monitoring Access to the Printer
Separator Pages for Sorting Documents
Solving Common Shared Printing Problems
Keeping Track of Printing Errors

NT-Specific Print Sharing Features

The unique printer sharing features that NT Server has can make the process of connecting to a networked print device easier than it is with other operating systems.

NT Workstations Don't Need Printer Drivers

If you're running an NT workstation with your NT Server, not needing printer drivers is likely one of your favorite features, as it makes the connection process a lot easier. When you're connecting the workstation to a printer on the server, you don't have to specify what kind of printer you want to connect to or tell the system where to find the drivers, as you do when connecting a Windows workstation to a networked printing device. Instead, you need only go to the Printers folder or Add New Printer Wizard (depending on which version of NT you are running, 3.x or 4.x), look to see what printers are shared on the network, and double-click on the one that you want. Once you've done that, you're connected.

Tip If you're using Windows 95, by the way, you can also put printer drivers on a central location, removing the need to place them on Windows 95 workstations.

Direct Support of Printers with Network Interfaces

To use a network interface print device (that's one that connects directly to the network, rather than requiring parallel or serial connection to a print server, remember), you need only load the Data Link Control protocol onto the print server (unless you have a TCP/IP-based network interface print device). Although network interface print devices can connect directly to the network without an intervening print server, those network interface print devices still work best with a connection to a computer acting in the role of print server because they have only one incoming data path. With only one path, once the printer had received one print job, it would not be able to queue any others until that job was done. More paths mean more efficient use of printing time, as queuing means that you don't have to keep checking to see if the printer's done or worry about someone beating you to the printer.

Network interface printers can be useful because, although they still usually connect to a print server through the network media, they can be physically distant from it because they don't get jobs through the parallel or serial port. The network connection can also speed up the process of downloading documents to the printer, since a network connection is faster than a parallel or serial port. The speed difference isn't great, though, because the printer still has to access the drivers from the print server.

Totally Integrated Printer Support in One Program

The Printers folder in Control Panel takes care of all printer maintenance. To connect to, create, fine-tune, or manage a printer, you need only open the Printers folder.

Who Can Be a Print Server?

Like many networks today, your network's workstations and servers are likely to be pretty heterogeneous when it comes to operating systems. Print servers don't necessarily have to be your main file server, or even NT Server machines, but there are limitations on who can share a printer with the rest of the network.

Machines running the following operating systems can be print servers:

  • Windows for Workgroups

  • Windows 95

  • Windows NT

  • Windows NT Server

  • LAN Manager

  • MS-DOS and Windows 3.1 (when running the MS Workgroup DOS Add On)

Adding a Printer

The process of adding a printer to NT Server 4 has changed significantly from NT 3.51. Although the process is different, the functions have remained similar. With this incarnation of NT, Print Manager is no longer a part of the program. All of the functions previously found in Print Manager are now located in the Printers folder.

The Printers folder can be found by going to the Control Panel by way of the Start menu. For those of you familiar with NT 3.51 and before, the process of setting up a printer to be shared over the network was called "creating" it. Now you simply go to the Printer window and click on the Add Printer icon. The Printer Wizard walks you through the process of setting up a printer. The properties of the printer, giving permissions for groups to use the computer, and all other functions and settings for printers can be found in the Printers folder—more specifically, in the Properties dialog box in the File menu.

To add a printer, double-click on the Add Printer icon in the Printers folder. You see the opening dialog box of the Printer Wizard, as shown in Figure 8.1.


Figure 8.1: Opening screen of the Add Printer Wizard

Choose Network printer server to connect your machine to a printer managed by another machine in your domain. Choose My Computer to set up a printer for your server to manage.

You need to set up your own printer (as opposed to connecting to one) if you are

  • Physically installing a printer on a computer

  • Physically installing a printer that connects directly to the network

  • Defining a printer that prints directly to a file (no hard copy)

  • Associating multiple printers with diverse properties for the same printing device

Click on My Computer and choose next. The Printer Wizard asks which port the printer is connected to, as shown in Figure 8.2. If you don't see your port listed, click on Add Port to see additional choices.


Figure 8.2: Choosing a port for the printer

Click on Next when you are done to get to the next dialog box, which is shown in Figure 8.3. You are asked to tell the Printer Wizard who the manufacturer of the printer is. Click on the manufacturer on the left of the screen. On the right is a list of printers that they make. Choose the printer. If you wish to use the manufacturer's printer driver, click on Have Disk and follow the prompts. If you wish to use NT's printer driver, just click Next. If the driver you selected is already present, the Wizard asks if you want to replace it, as shown in Figure 8.4.


Figure 8.3: Telling the Wizard which manufacturer and model your printer is


Figure 8.4: Printer driver replacement dialog box

The Printer Wizard now asks you to name the printer, as you can see in Figure 8.5. The name can be up to 32 characters, including spaces. Click Next to continue with the installation.


Figure 8.5: Entering a name for the printer

Now you have to say whether the printer is to be shared with others, as shown in Figure 8.6. If you share it, you have to give it a share name. The share name does not have to be the same as the printer name, but it might be easier to manage the printers if your printer names and share names are the same. A share name can be up to 12 characters long, including spaces. Notice also the list of operating systems in Figure 8.6. NT stores drivers for a printer on the print server, which means Windows NT and Windows 95 clients need not install them locally. Select all the operating systems that you use in this dialog box (see Figure 8.6) before moving to the next screen.


Figure 8.6: Sharing the printer

By telling the printer that machines from other operating systems—NT 4 for Alpha, NT 3.51—will be using this printer, you are telling your printer to locate and copy the printer drivers needed for those operating systems. The computer will then ask you to supply those drivers. That means that you should either have the original CD-ROMs around and handy (now, where did I put my NT 3.5 CDs?) or have kept the \Alpha and \I386 directories from those operating systems somewhere on a server.

If you choose Windows 95, things get even more complex. For some reason, NT is unable to read the so-called "cabinet files," compressed files that Microsoft ships Windows 95 in. If you simply tell the Printer Wizard to go looking on the Windows 95 CD, it'll tell you that it can't find the files, as it's not able to look inside a CAB file. What to do, then? You could install the printer drivers on a Windows 95 workstation, share the \WINDOWS directory of the workstation, and then point the Printer Wizard there—the files will already be uncompressed. Or create a directory on your server and uncompress all of the CAB files. Do it this way:

  1. Create a directory on some server and copy all of the CAB files from your Windows 95 CD to that directory.

  2. Open up a command line and navigate to that directory. Type extract.exe /e *.* to unpack the files in the first CAB file.

  3. Do the same thing for the other CAB files. You'll end up with just under 300MB of files.

Now you can share this directory and refer to it when newly created print servers need Windows 95 print drivers.

Warning: If you want MS-DOS machines to be able to use this printer, you need to make sure that the printer name conforms to DOS's 8+3 naming convention.

You can set the user permissions in the Properties dialog box after you finish adding the printer. However, if you intend to share the printer, tell the Printer Wizard now which operating systems will be used to print from this printer and be sure to have on hand the driver files for each operating system you choose. Printer Wizard will tell you which ones it needs in a dialog box like the one shown in Figure 8.7.


Figure 8.7: Telling the Printer Wizard driver files are needed

Click Next when you have finished. You are advised to print out a test page. That is all there is to it—your printer is ready to be used by one and all. Except, of course, that you may not want everyone and her brother to use the printer. That is where the user permissions come in handy. We'll talk about them later in this chapter.

Tip RISC and x86 machines use different printer drivers, so you need to install both kinds if you have both kinds of machines on your network.

Adding a Second Printer for the Same Print Device

It's often desirable for you to have two (or more) names for the same print device on the network. Having different people access the same device from different names allows you to assign different printing priorities to different users, assign different hours that the printer is available for printing, make one printer for network use and another for local use, and so forth. Having two or more names allows you to fine-tune the network users' access to the printer.

The process of adding a second printer for the same print device is identical to that of adding the first one. Select Add Printer from the Printers folder and follow the Printer Wizard's instructions. Make sure to do the following:

  1. Select a new name for the printer.

  2. Choose the same driver for the printer that the other printer on this print device uses, and make sure that all other settings are as they should be. You don't have to share all printers on the network, even if they're attached to the same printing device.

If you shared the new printer with the network, it will now be available for connection.

How Do I Set Up a Printer the First Time for Network Use?

The first time that you're setting up a printer on the network, you need to add it. To do this, go to the Add Printer option in the Printers folder and fill in the appropriate information, including the type of printer, its share name, and whether or not it will be shared with the network.

You can give one physical printer more than one share name and assign each name to a different group, perhaps with different print privileges. Just repeat the creation process, but assign the printer a different name.

Customizing a Printer's Setup

Once you've done the basic work of adding a printer, you can further customize it. You don't have to customize your printer at the same time that you set it up if you don't want to—you can always adjust the settings at a later date with the Properties option on the Printer menu.

Using the Printer Properties Dialog Box

Highlight the printer you want and click on the Properties button in the Printers folder. You see a screen that looks like Figure 8.8. From here, you can do many things, including the following:

  • List the hours that this printer will print. If you restrict the printing hours, jobs will still spool to the printer during the off-times, but will not print until the hour indicated.

  • Choose a separator page file to print before each print job. Separator pages are discussed in detail later in this chapter, under "Separator Pages for Sorting Documents."

  • Choose the ports that you want to print to for printer pooling (more on this below).

  • Select the print processor.


    Figure 8.8: Printer Properties opening dialog box
  • Determine the printer's priority, if the printer goes by more than one name on the network. For example, if you have the same printer shared under the name HP4-22 and HP4, and you assign a higher priority to the printer name HP4-22, then print jobs sent to that printer name are printed first. The default priority is 1, which is the lowest priority. You can set the priority from 1 to 99.

Printer Pooling

Just because you send a print job to a particular print name doesn't mean that your print job has to print at one particular printing device. To save time for print jobs, you can use the Properties dialog box to pool several identical printers into one logical one. If you do this, the first available printing device will do the job when you send it to that printer name. This is called printer pooling, and it is illustrated in Figure 8.9. Printer pooling will not work unless the pooled printers are physically identical—the same make and model and the same amount of memory.


Figure 8.9: Printer pooling

How Do I Set Up More Than One Printer under the Same Name?

To have more than one printer handle print jobs sent to the same print name, you must set up printer pooling. To do this, go to the Properties item in the File menu and click on the Ports button. Select the ports that correspond to the ports where you've plugged in the other printers. If the ports you need aren't on the list, you can add them by clicking on the Add Port button. Then, make sure the Enable Printer Spooling box is checked.

On an NT Server machine, you only need one copy of the driver for the type of printer you're pooling, unlike Windows for Workgroups, which requires one copy of the driver for each printer.

Printing Directly to Ports

By default, documents for printing spool to the printer before they are printed. When a document is spooled, it is sent to the print server's hard disk, which in turn sends it to the printer in an effort to save time and let the user get back to what she was doing as soon as possible. This is called backgroundprinting.

If you like, however, you can use the scheduling dialog box to send print jobs directly to the port that a printer is connected to. But if you do this, you won't be able to use your application until the print job is done.

How Do I Print Directly to Ports?

To send print jobs directly to the port to which the printer is connected rather than spooling normally, go to the Properties item in the File menu of the Printers folder and click on the Scheduling button.

Setting the Printer Timeout Number

If the printer you are setting up is connected to a parallel port, you can specify the time lapse before the print server decides that the printer is not responding and notifies you (as the user) of an error. Setting the Transmission Retry number higher or lower adjusts the amount of time that the Print Server will wait for a printer to prepare itself to accept data.

This setting affects not only the printer that you've selected, but also any other local printers that use the same printer driver. Clicking on the Configure Port button in the Ports tab of the Printer Properties dialog box nets you a small dialog box that looks like Figure 8.10. To adjust the time-out, just click on the arrows on the right side of the box or type in a number by hand. As you can see, the time is measured in seconds.

Figure 8.10: Configure Port dialog box

Figure 8.10: Configure Port dialog box

How Do I Set Printer Timeouts?

To set the number of seconds between the time that you send a print job to the printer and the time that, if the printer doesn't see the job, it tells you that there is a transmission error. Choose the Properties item in the Printer menu, click on the Ports tab, and choose Configure Port in the dialog box; then type in the number of seconds that you want for the timeout.

Connecting to a Shared Printer

How you connect a workstation to a printer that is hooked up to a server running NT Server depends on the operating system that the workstation is using. Windows and Windows for Workgroups machines can connect from the graphical interface, but OS/2 and MS-DOS machines must make connections from the command line. Easiest of all are the Windows NT machines—they don't even require locally loaded printer drivers!

Printing from MS-DOS

All DOS workstations, whether they are running Windows or not, require locally installed printer drivers to share printers on an NT Server network. From a DOS workstation that is not running Windows or Windows for Workgroups, install the MS-DOS printer driver file for the laser printer and make sure that it is accessible to all your applications. Depending on how your disk is set up, you might have to copy the file to all your application directories.

To set up a printing port from MS-DOS, go to the command prompt and type net use lpt1: \\server\sharename . For server and sharename, substitute the name of the print server and the name by which the printer is known on the network. Substitute another port name if LPT1 is already in use.

If you want the connection to be made automatically every time that you log on to the network, add the /persistent:yes switch to the end of the command. Just typing /persistent won't do anything, but if you leave off the persistency switch altogether, it will default to whatever you selected the last time that you used the NET USE command.

For example, suppose you have an MS-DOS workstation that does not have a locally attached printer on any of its parallel ports. Since some older DOS programs don't really give you the chance to select an output port, you'd like the network printer HP4, which is attached to the server BIGSERVER, to intercept any output for LPT1 and print it on HP4. Suppose also that you want this network printer attached every time that you log on to the network. The command for that would be

net use lpt1: \\bigserver\hp4 /persistent:yes

Tip If the print server is using NTFS, workstations may not be able to print from MS-DOS if they only have Read and Execute privileges. The print jobs spool to the print queue, but never print. To resolve this problem, give all users who print from DOS applications or the command prompt full access to the printer.

DOS workstations, whether or not they're running Windows over DOS, use the locally installed printer driver rather than the one stored on the server. Therefore, if you get an updated version of a printer driver, you need to install it at each DOS/Windows workstation individually.

Printing from Windows and Windows for Workgroups

Connecting to an NT Server shared printer from Windows for Workgroups is just like connecting to the same printer on a WfW server. To connect, go first to the Control Panel and select the Printers icon. You see a screen that looks like Figure 8.11. This screen shows you the printer connections that you currently have. To connect an existing printer to a new port, click on the Connect button. You see a screen that looks like Figure 8.12.


Figure 8.11: Connecting to an NT Server printer from Windows for Workgroups (screen 1)


Figure 8.12: Connecting to an NT Server printer from Windows for Workgroups (screen 2)

If, however, you want to connect to a new printer, click on the Network button in this dialog box. Do so, and then you see a screen like Figure 8.13. It shows you which printers are available for connection. Click on the printer you want, and when its name appears in the Path box, click OK. Return to the previous screen, where you can ensure that the printer is connected to the port that you want.


Figure 8.13: Connecting to an NT Server printer from Windows for Workgroups (screen 3)

That's how you connect to a networked printer if the drivers for that printer are already loaded. If they're not loaded, you need to use the Add button in the first screen (see Figure 8.11) to add the printer driver to the system. Click on the Add button and you see the list of printers shown in Figure 8.14.

Select the printer that you want (for example, the HP LaserJet III), and then click on the Install button. You see a screen like the one in Figure 8.15. You can use the Browse button or type in the proper path if the driver is somewhere on the network; otherwise, you need to insert the appropriate disk. Once you've installed the correct driver, you're ready to connect to the printer.


Figure 8.14: Adding a printer driver to the system (step 1)


Figure 8.15: Adding a printer driver to the system (step 2)

Printing from OS/2

Connecting to an NT Server printer from OS/2 is much like doing it from DOS. To set up a printing port, go to the command prompt (reached from the System folder) and type net use lpt1: \\server\sharename . For server and sharename, substitute the name of the print server and the name by which the printer is known on the network. Substitute another port name if LPT1 is already in use. If you want the connection to be persistent, add the /persistent:yes switch to the end of the command.

When connecting to networking printers, OS/2, like DOS and Windows, uses local printer drivers rather than drivers stored on the print server. Thus, you need to load the printer drivers locally for the printers you connect to, and if you update the drivers, you need to install the new ones at each workstation.

Printing from Windows NT

If you're using Windows NT, connecting to a shared printer is so easy you'll be tempted to believe that you didn't do it right until you try to print and it works. Since NT workstations can access the printer drivers located on the print server, you don't need to load them locally. How this works is illustrated in Figure 8.16.


Figure 8.16: Locally loaded printer drivers versus centrally loaded printer drivers

Therefore, rather than define the proper port, find the drivers, or do anything else, all that you need do is go to the Control Panel, select the Printers icon, and double-click on Add Printer. When you do, you see the first Add Printer Wizard screen shown in Figure 8.17.


Figure 8.17: First screen in the process of connecting to a shared printer

When you've reached this screen, choose the Network printer server option button, and then click the Next button. A screen like Figure 8.18 appears. It shows you the available printers that you can connect to. As you can see from the figure, two printers are currently available on this network.


Figure 8.18: Display of available printers on the network

To connect to both HP4M and MarksHP, the printers shown in Figure 8.18, you have to connect one printer at a time. Double-click on HP4M to select it, or click once and then click OK. Once that's done, that's it—you don't have to load drivers or tell the system the kind of printer that you want to connect to. To connect to MarksHP, just repeat the process.

NT workstations use the printer drivers stored on the print server, so if you install a newer version of a driver on the print server, the NT workstations will use it automatically. You don't need to tweak the workstation connection.

How Do I Connect a Workstation to a Shared Printer?

The process of connecting a workstation to a networked printer varies with the type of operating system that the workstation is using. To connect DOS and OS/2 machines, use the NET USE command from the command prompt (see the previous section for details). For Windows and Windows for Workgroups, you can use the Print Manager. For Windows NT machines, use the Print Wizard. Printer drivers for each kind of printer must be loaded locally on all kinds of workstations except Windows NT. An NT print server can also offer drivers to Windows 95 clients if they are added via the Sharing tab.

Controlling and Monitoring Access to the Printer

Just because you've networked a printer doesn't necessarily mean that you want everyone on its domain to be able to access it. Maybe it's the color printer with the expensive ink that only the graphics people need to use, or perhaps you want to reduce the risk of security breaches by limiting the people who can print out company secrets. Either way, you want to control access to the printer just as you would to any other network device.

By default, only Administrators, Print Operators, and Server Operators have full access to the printer. Only those with full access can pause or resume a printer or set its permissions. Those who just have print access can only administer their own documents.

Setting Printer Permissions

As you'll recall from elsewhere in this book, you secure an NT Server network by setting user rights for what people can do on the network, and setting user permissions for what people can use. Just as you can with other devices on the network, you can restrict printer use by setting its permissions.

To set or change printer permissions, first go to the Printers folder, and select the icon for the printer you want. Next, go to the Properties dialog box in the File menu, choose the Security tab, and select Permissions. You see a dialog box that looks like Figure 8.19.


Figure 8.19: Printers permissions dialog box

The Printer Permissions dialog box lists the groups for whom some kind of printer access has been set up. From here, you can change the kinds of access that each user group has. The kinds of access are as follows:


What It Means

No Access

No member of that user group can do anything with the printer, including print.


Members of that user group can print documents as well as pause, resume, restart, and delete their own documents.

Manage Documents

Members can control document settings as well as pause, resume, restart, and delete documents that are lined up for printing.

Full Access

Members can do anything with the printer: print; control document settings; pause, resume, and delete documents and printers; change the printing order of documents; and change printer properties and permissions.

To change a group's type of access, click on the group to highlight it, and then choose the new access type from the Type of Access box in the lower-right corner of the dialog box. Make sure that you leave one group with Full Access, or you won't be able to change printer permissions in the future.

To add a user group or user to the printer permissions list, click on the Add button. You see a dialog box that looks like Figure 8.20.


Figure 8.20: Adding users and groups to printer permissions list

To add a group to the printer permissions list, highlight the kind of permission that you want to give that group, click on the group you want, click Add, and click OK. To add only a particular person to the printer permissions list, you have two options:

  • You can select a group that the user belongs to and click on Members. This gives you a list of all the users who belong to the group. Highlight the user who you want.

    Tip Clicking on Members to show the members of the Users group does not get you a list of users; use the Show Users button to do that. If you try to see the members of the Domain Users group, you'll only get a message informing you that the composition of that group is identical to that of the Users group.

  • Click on the Show Users button and scroll down the user groups list until you see the entry for Users. Below this entry is a list of every user on the system. Double-click on the name, just as you would when selecting a user group.

Once you've selected the group or user, the name should appear in the Add Names box in the bottom half of the screen. When you're done adding groups or users, click OK.

To remove a group or user from the printer permissions list, go to the Printer Permissions dialog box (see Figure 8.19), highlight the name of the user or group, and then click Remove.

Tip If a user is a member of more than one group with different printer permissions, the system always grants the highest-level permission. For example, if Jane is a member of one group with Print privileges and one with Full Access privileges, she always has Full Access privileges. The only time that print permissions are not cumulative is when one of the groups that a user belongs to has No Access to the printer. In that case, that permission level overrides all higher levels and the user has no access to the printer, regardless of the access level of other user groups she belongs to.

How Do I Set Printer Permissions?

To control which groups or individuals have access to a networked printer and the kind of access that they have, go to the Security tab in the Properties dialog box and choose Permissions. Select existing groups and change the kind of printer access that they have, or click on Add and select new groups to configure. To select individual members of a group, click on the Users button to display membership.

For users in more than one group with different printer permissions, permissions are cumulative except for No Access. If any group of which that user is a member is forbidden access to the printer, that overrides all other permissions.

Creator-Owner of What?

Did you notice that you can set permission levels on creator-owners in the Security tab? I did, and it got me thinking: creator-owner of what? Someone must create a printer in the first place. (Recall that printer in NT-ese means a logical printing object, not the actual mirrors, lasers, toner, and paper. The actual physical mechanical printer is called a printerdevice.) You can create as many printers as you like from a single printer device; and if you created a printer, then you're the printer's owner.

If you attach to a printer and print something on that printer, you create a print job on that printer, and you are the owner of that print job. So when you set permissions for creator-owner, which is it—the printer or the print job? As it turns out, it's the print job.

Experimenting with Printer Permissions

While I'm on the topic of permissions and print jobs, here's an oddity that I discovered about print jobs and security. When logged in as my normal account, I've got Print permissions. Print permissions, you may recall, let me not only print, but also delete, pause, restart, or resume any print job that I created; in other words, I can mess around somewhat with any print jobs that I created, but can't touch other people's print jobs. People with the next level of permissions, Manage Documents, can go meddle in other people's documents.

If you'd like to see this in action, log on as an administrator and pause a printer. (Just open the Printers folder, locate the printer, right-click it, and choose Pause.) Then log onto the system as a regular user and print something to that printer. Since the printer is paused, the print job will go into the printer's queue, and you'll be able to view it even if you're just a regular user by opening up that printer's folder.

Then log off and log back on as another regular user. Print something else to that printer. Open up the printer folder and you'll see both jobs, and the folder will look something like the one shown in Figure 8.21.


Figure 8.21: Jobs in paused printer queue

In the figure, you see one document created by a user named "marks" and another by a user named "testuser." While logged on as TESTUSER, I can right-click the MARK.TXT document, choose Properties, and get a dialog box like the one shown in Figure 8.22.

Figure 8.22 shows the job settings for this print job. In particular, there are three items here that could be useful to change. First is the Notify: field. Suppose you printed a job for someone and had to leave the office, but that person wanted to know when the job was done. You could bring up this dialog box and fill in the person's name, and she'd then be informed when the print job was done. Adjusting the Priority slider would affect how quickly a job gets printed on a busy printer—"busy" because raising a job's priority on a printer with no waiting documents doesn't affect printing speed at all. And you could use the Schedule buttons restrict when the job printed.

If either user MARKS or TESTUSER tries to do that, however, he or she will be rebuffed, as they cannot change the print settings even for their own jobs. Again, they can delete, pause, restart, or resume their own jobs, but they can't fiddle with the job properties in the dialog box above. Remember the levels of printer access? People with No Access, Print, and Manage Documents levels of permission cannot change print job settings; only people with Full Control can.


Figure 8.22: Job settings for a printer job

Let's get back to what MARKS and TESTUSER can do. Logged in as TESTUSER, I can right-click my job and pause it, which in this case is a kind of "double pause": Not only is the entire printer paused, but also my job is paused; if the administrator un-pauses ("resumes") the printer (you must be a member of Administrators, Server Operators, or Print Operators to pause and resume an entire printer), then my job still will not print until I resume the job. On the other hand, if I try to pause MARKS's document, I'll see in the printer window's status line "access denied."

Tip I ran into something else that is counter-intuitive (to me, anyway) in NT's printer handling: You cannot open up a printer and re-arrange the print jobs through the GUI, save by fiddling with their print priorities; you can't, for example, drag and drop them within a printer folder.

Hiding a Printer

You can conceal the fact that a printer even exists, but still share it with the network for a chosen few to access. To do this, attach a dollar sign ($) to the end of the printer share name. This way, the printer name does not show up on the list of networked printers, but if the user types in the name by hand, she is able to connect to the printer.

How Do I Hide a Shared Printer?

To share a printer with the network but keep it from showing up when people browse the network for printers, tack a dollar sign to the end of its name. That way, users have to type the printer's name in the printer name box—it doesn't show up on the list of printers shared with the network.

Setting Print Job Priorities

As discussed earlier, you can set printer priorities from the Scheduling tab of the Properties dialog box (see Figure 8.8). This way, if you want to share your printer with the network but don't want everyone else's print jobs crowding out your own, you can give it two names: a name you use that has a high priority, and a name with a low priority that is used by everyone else who connects to the printer. To further hone print priorities for different user groups, you can give the printer three or more names, each with its own priority attached, and then assign each group that needs access to the printer a name by which to connect. How this works is illustrated in Figure 8.23.

When you're setting the printer priorities in the Scheduling tab of the Properties dialog box, don't forget that higher numbers (up to 99) have a higher priority than lower ones. The default value is 1.


Figure 8.23: Setting print priorities with different printer names

How Do I Set User Print Priorities?

You can give the print jobs of one person or group priority over those of another person or group. To do this, create another printer for the same print device. Click on the Scheduling tab in the Properties dialog box, and you see a dialog box in which you can set printer priorities. Set the number to 1—or any number up to 99, which has the highest priority—since the default is 1.

Setting Printing Hours

As discussed in "Using the Printer Properties Dialog Box" earlier in this chapter, you can set the hours during which a printer produces output. To adjust print times, just click on the [up] or [down] arrow of the Available From and To boxes, or type in the times that you want the printer to be available. If a print job is sent to a printer during its "off hours," it doesn't disappear but sits there until the printer is authorized to print again.

While you can set user logon hours and printer hours, you can't set printing hours for a particular user or group that are different from those of the others who have access to that printer. For example, you can't restrict users to a particular printer between 9 and 5 if Administrators can access it at any time, unless you adjust the users' logon times and configure their accounts so that the system kicks them off when their time is up. What you can do is set up two printer names, one with one time window when it's open for use, and the other with another one. Those who connect to the printer name with the limited hours will only be able to use the printer during those hours. How this works is described in the Figure 8.24.


Figure 8.24: Restricting printing hours for a user group

Receiving Status Messages

One of the auditing functions that you use most often is some kind of messenger service that tells you what's happened to print jobs after you've sent them to the server. Printer status messages can tell you when

  • The print job is done

  • The printer is out of paper or off-line

  • The printer is jammed

  • A print job has been deleted

How Do I Set Varying Printing Hours for Different Groups?

Although you can't make a printer accessible to one group for one set of hours and to another group for a different set, you can still customize printer access hours for different sets of users. Simply add more than one printer (remember, printers are logical entities, distinct from the physical printing devices), set the hours for each printer as you require, and then tell each group which printer to connect to.

Arranging to receive printer status messages is done a little differently, depending on what operating system the workstation in question is using:

NT and NT Server Begin the messenger service (it's on by default, so you probably don't have to do anything).

Windows for Workgroups and Windows 95 Run WINPOPUP.EXE in the Windows directory.

DOS and Windows Load the messenger service through NET POPUP.

NetWare Begin the CAPTURE program and run the messenger service.

Logging and Auditing Printer Usage

In order to keep an eye on a printer's usage, it's a good idea to audit it. To set up auditing, first go to the User Manager and enable file and object access auditing. Once you've done that, you can set up printer auditing for individuals and groups.

To configure printer auditing, go to the Printer Properties dialog box and select the Auditing option in the Security tab. When you do, you see the dialog box in Figure 8.25.


Figure 8.25: Printer Auditing opening screen

Why are all the auditing options grayed out? Before you can audit printer activity, you have to select a group or user to audit. To do this, click on the Add button. You see a screen like Figure 8.26. To select a group for auditing, double-click on it or click once and then click on Add. When you've selected a user or group, it should show up in the Add Names box in the bottom half of the screen. When you've chosen all the groups that you want to audit, click OK to return to the Printer Auditing screen. It now looks something like Figure 8.27.


Figure 8.26: Add Users and Groups dialog box for printer auditing


Figure 8.27: Auditing screen with groups chosen for auditing

For each group or user that you've chosen to audit, you can select different items to keep track of by checking in the appropriate check boxes. When you highlight a group in the Name box here, you see the auditing items that you selected for that particular user or group. No defaults are attached to auditing a particular group, so you have to set them all by hand. To view the audit information, use the Event Viewer in the Administrative Tools program group.

How Do I Set Up Event Auditing for the Printer?

To keep track of printer events, go to the Auditing item in the Printer Properties Security tab. By default, no groups are selected for auditing, so you must select a group. Click on the Add button and a list of possible groups to audit appears. Select a group, click on the Add button so that the group name appears in the lower box, and then click OK. Once you've selected a group for auditing, you can choose the events that you wish to audit from the list. For each group that you audit, you can set up a special auditing schedule.

Separator Pages for Sorting Documents

Separator pages are extra pages that are printed before the main document. They can be used to identify the owner of the print job, record the print time and date, print a message to users of the printer, and record the job number. Separator pages are useful mainly for keeping documents sent to the printer separate from each other. If a number of people are using the same networked printer, you probably want to use separator pages to help them keep their documents sorted. Several separator page files are included with NT Server, and you can also create your own by using Notepad.

Creating a Separator Page

To make your own separator page file, begin a new document in Notepad. On the first line, type a single character and then press Enter. This character will now be the escape character that tells the system that you're performing a function, not entering text. You should use a character that you don't anticipate needing for anything else, such as a dollar sign ($) or pound sign (#). Here, I've used a dollar sign as the escape character.

Now that you've established your escape code, you can customize your separator page with the following variables:


What It Does


Prints text in single-width block characters until $U is encountered.


Prints the date the job was printed. The representation of the date is the same as the Date Format in the International section in Control Panel.


Ejects a page from the printer. Use this code to start a new separator page or to end the separator page file. If you get an extra blank separator page when you print, remove this code from your separator page file.


Prints the contents of the file specified by path, starting on an empty line. The contents of this file are copied directly to the printer without any processing.


Sets a printer-specific control sequence, where nn is a hexadecimal ASCII code sent directly to the printer. To determine the specific numbers, see your printer manual.


Prints the job number.


Prints all the characters (xxxx) following it until another escape code is encountered. You can use this code to enter text exhorting people to not waste paper on unnecessary print jobs, to have a nice day, to save the planet, or to do anything else that you like.


Prints the user name of the person that submitted the job.


Skips n number of lines (from 0 through 9). Skipping 0 lines moves printing to the next line.


Prints the time the job was printed. The representation of the time is the same as the Time Format set in the International section in Control Panel.


Turns off block character printing.


Sets the width of the separator page. The default width is 80; the maximum width is 256. Any printable characters beyond this width are truncated.

As an example, consider the following Notepad separator page file:


It nets you this output:


Notice that, even though I pressed Enter after each entry, the output is all on one line. This is because I didn't use the $n character to tell the separator page to skip lines between entries.

How Do I Create a Separator Page?

If you don't want to use any of the default separator pages included with NT Server, you can create your own with Notepad. Begin a new document, and, on the first line, type a single character to be the escape character (the system's indicator that the next character is a code). Choose an escape character that you won't need for anything else in the file. On the following lines, use the escape character and the variables described above to make a custom separator page.

Choosing a Separator Page

To specify a particular separator page, choose the General tab in the Properties dialog box and then click the Separator Page button. You see a dialog box that looks like Figure 8.28.

Figure 8.28: Separator Page dialog box

Figure 8.28: Separator Page dialog box

If no separator file is listed, you can select one by typing in the name of the file you want to use or by browsing for the correct file by clicking on the Browse button. Once you've selected a separator file, the page with that information prints out before every print job.

To stop using a separator page, just go to the Separator Page dialog box and delete the entry in the text box. There is no <None> setting in a drop-down list as there is in some menus. It's a pity that the separator page selection isn't set up like that, but I suppose it's because custom separator pages wouldn't necessarily be in the WINNT35\SYSTEM32 directory where all the defaults are.

When specifying a separator page, you can type a filename (if you're already in the proper path to find the file) or the filename and path (if you're in another path). You must, however, use a file that is physically located on the computer that controls the printer for which you're specifying the separator page. Why can't you use any file that's accessible from the network? The answer is that the computer that controls the printer stores separator page information in its registry, and so it needs to have that information available locally. If you tell the printer to use a separator file that is not located on its hard disk or one that is not in the path that you've indicated, you get an error message that says, "Could not set printer: The specified separator file is invalid."

Solving Common Shared Printing Problems

While printing under NT is usually trouble-free, you may run into a few problems. The remainder of this chapter describes some of the most common problems and tells you how to solve them.

Connection Problems

Connection problems appear before you can even use the printer.

Can't Connect to Printer

When connecting to a printer in the Printer Wizard, you may get an error message that says, "Could not connect to the printer: The remote procedure call failed and did not execute." This isn't really your fault. This problem usually occurs after you've set up and then deleted multiple printers, logging off and on in between removes and setups. Essentially, the registry gets confused. If you see this message, click OK in the dialog box with the error message, and then log off and then back on again. When you get back on, you should be able to connect to the printer.

Can't Create Printer

When you go to the Printer icon to remove a printer or create a new one, that option—Create Printer or Remove Printer—may be grayed out, indicating that it's inactive. If you see this, check to make sure that you're logged on as a member of a group with privileges to create or remove printers; only Administrators and Power Users have this privilege.

No Default Printer

If you try to set up a printer from several layers deep in dialog boxes and then select Help while you're still working on the setup, you may get a message that says, "No default printer. Use Printer Wizard to install and select default printer." You may get this message even though a default printer is already installed. To avoid this bug, set up printers before trying to use Help.

Deleted Port

While it is possible to delete a port in the Printer Properties dialog box, be warned that it's a lot easier to delete a port than it is to retrieve it. If you blow away a port, you need to use the Registry Editor to replace it.

To retrieve a printer port:

  1. Start the Registry Editor (REGEDT32.EXE) and go to the following subkey in the HKEY_LOCAL_MACHINE on Local Machine hive:

    Software\Microsoft\Windows NT\CurrentVersion\Ports

  2. From the Edit menu, choose Add Value.

  3. In the Value Name box, type the printer port that you deleted (for example, COM1: or LPT1:). Keep the default value in the Data box (REG_SZ) and click on OK.

  4. In the String box, type the appropriate settings that correspond to the port that you typed in the Value Name box. For example, you would type 9600,n,8,1 for any COM ports.

    Table 8.1 tells you exactly what the value in each section should be for each port. If you're doing this fix, here is a list of the appropriate settings for each port.

    Table 8.1 Port Settings

    Port Name

    Data Type

    String Value


    REG SZ



    REG SZ



    REG SZ



    REG SZ



    REG SZ



    REG SZ



    REG SZ



    REG SZ


  5. Exit the Registry Editor. Log off and then log back on, and the port should be back.

Warning: Be extremely careful when using the Registry Editor! It's possible to completely screw up your NT Server installation with it. In fact, you could screw it up enough that you have to reinstall the operating system to fix the problem.

Basic Troubleshooting Tips

The previous sections don't cover every possible printing problem and solution, but are instead meant to give you an idea of what could go wrong and how to fix it. If your problem isn't dealt with above, this section should give you an idea of how to attack it.


If your print job isn't coming out quite like you expected it to (or not at all), make sure that the printer is set up correctly. Have you specified an existing printer port? What about the printer driver? Did you install the right driver for your printer? If so, you may want to try deleting and re-installing the printer driver. (Remove the printer from the system and re-create it.)

The problem could also be in the application. Can you print to another printer? Can you print to that printer from another application? If it's a DOS application, copy the driver file to the application's directory and then try to print again.


It's perfectly possible for something to go wrong with the printer itself, or the cabling, especially if you can't print from DOS. Once you've checked the printer itself to make sure that it is online, plugged in, and has paper, check the connection. Will the printer work when attached to another parallel or serial port? You could have a network problem. Try printing the file directly from the print server and see if that works. If nothing else works, try removing extraneous cards from the print server to see if there is a hardware conflict.

Keeping Track of Printing Errors

Being able to choose whether to be notified when someone prints on a remote machine is a new and handy feature of the Print Server Properties dialog box. Those of you familiar with NT 3.51 or before probably remember that you had to go into the Registry in order to turn off the printer notification message, the message that shows up on your server every time someone on a remote machine prints a document. With NT Server 4, it is much easier.

In the Printers folder, pull down the File menu, choose Print Server Properties, and click on the Advanced tab. This tab offers several options. A check in the last check box, "Notify when remote documents are printed," gives you the same print notification message with which you may already be familiar.

But turning off the notification does not mean compromising security because you can keep a log file to record the status of spooled print jobs. A log file is a combined file for all the printers attached to your print server. Notice in this same dialog box that you can tell the print server to log the following events:

  • Error events

  • Warning events

  • Information events

Just type in a file name and path where it asks for a spool folder. A default file is already listed for you.

You can also tell the server to take a more active role by beeping at you if a spooler event fails. To do that, click the "Beep on errors of remote documents" check box.

Two other tabs appear in the Print Server Properties dialog box. The Ports tab is a recap of the Ports tab in the Printer Properties dialog box, and the Forms tab allows you to define margin sizes. These forms are stored on the print server itself, so all printers can access them.

By now, you've got a server set up, some users, a few shares, and a printer or two. Even though all network administrators know that it's a lot easier to run a network if it doesn't have any users, let's throw caution to the wind and get a few users' PCs hooked up to the network. We do that in the next chapter.

About the Author

Mark Minasi, MCSE, is recognized as one of the world's best explainers of NT. He teaches NT classes in fifteen countries and is a much sought-after speaker at NT conferences, regularly keynoting and speaking at the NT Wizards and NT Professionals conferences. He also writes three popular columns in Windows NT Magazine, as well as "Eye on the Enterprise" in Japan's Nikkei NT magazine. His firm, MR&D, has taught tens of thousands of people to design and run NT networks. Among his eight other Sybex books are Mastering Windows 2000 Server; Mastering Windows 2000 Professional; and The Complete PC Upgrade and Maintenance Guide, which has sold a million copies and been translated into twelve languages.

Copyright © 1999 by Sybex, Inc.

We at Microsoft Corporation hope that the information in this work is valuable to you. Your use of the information contained in this work, however, is at your sole risk. All information in this work is provided "as -is", without any warranty, whether express or implied, of its accuracy, completeness, fitness for a particular purpose, title or non-infringement, and none of the third-party products or information mentioned in the work are authored, recommended, supported or guaranteed by Microsoft Corporation. Microsoft Corporation shall not be liable for any damages you may sustain by using this information, whether direct, indirect, special, incidental or consequential, even if it has been advised of the possibility of such damages. All prices for products mentioned in this document are subject to change without notice. International rights = English only.

International rights = English only.

Click to order