3.11. Understanding Print Sharing ServicesPrinters and printing services are areas of Windows Server 2003 that haven't changed very much in the migration from Windows 2000. Given that, let's take a brief look at the relevant terminology associated with printing services and how Windows treats printing in general. To Windows, a printer is the machinery that actually puts ink or toner on a page. There is also such a thing as a logical printer, which refers to the interface between the physical printer and the software that is instructing the printer to print. Think of the logical printer as the printer driver; you can indeed use the two terms interchangeably. Some important points to consider:
3.11.1. Internet PrintingThere's also a feature introduced in Windows 2000 but retained in Windows Server 2003 known as Internet printing , which enables you to print directly to the printer over an intranet or the Internet using the HTTP protocol. You do this either by using an Internet-enabled printer, which some of the more expensive printers are, or by using Windows Internet printing services, which involves using IIS. Although the technology sounds neat and useful in theory, think about it in practice. All of us remember junk faxes and fax attacks: taping a sheet of paper completely covered in black ink to itself so that it would continually transmit and waste paper and ink on the receiving end. Think about a cracker compromising your Internet-attached printer and the wasted paper and toner there. Also, some of the more expensive printers retain the last few print jobs in memory in case they need to be repeateda sort of spooler cache. A cracker who penetrates the Windows Internet printer server could access the printer's memory and make off with copies of sensitive documents. The bottom line is that this feature just isn't safe and isn't practical in today's hostile Internet environment. I strongly recommend against using this feature. Standard printing services are flexible enough for most of your needs, and if you really need to print over the Internet, do it to a Kinko's printer and have them deliver the job to you. 3.11.2. Setting Up Print SharingTo configure a print server, use the Manage Your Server Wizard. Click Add or Remove a Role, and on the Server Role page, select Print Server and click Next. Then follow these steps:
You can remove the print server role through the Manage Your Server Wizard by clicking Add or Remove a Role, selecting Print Server, and clicking Remove. This will unshare and then remove any shared printers on that server, making them unavailable for use over the network. 3.11.3. The Print Management ConsoleThe Print Management Console, a feature in Windows Server 2003 R2, unifies all printer and print server management tasks into one convenient, efficient interface. The PMC can manage all network printers on print servers running Windows 2000 Server, Windows Server 2003, or Windows Server 2003 R2, making it a great tool to get an all-encompassing picture of the printers in your organization. To install the PMC, use the Add/Remove Programs applet within Control Panel. Select Windows Components, and under Management and Monitoring Tools, check the Print Management Console component. Click OK, and Windows will install the PMC for you. Figure 3-42 shows the Print Management Console when you first load it. Figure 3-42. The Print Management ConsoleYou can add various print servers on your network to the list on the left side of the console by right-clicking on Print Servers and selecting Add/Remove Servers. Either type the name of the server or browse to it. Repeat as necessary. 3.11.3.1. Adding and viewing printersUsing the PMC, you can automatically add all printers located on the same subnet as the print servera task that involves detecting the printers, installing the appropriate drivers, creating and configuring the queues, and enabling sharing. This is all done by the PMC without any intervention from you, with the exception of being prompted for drivers for some more obscure printers. All you need is to (1) be on the subnet as the printers you want to autodetect and (2) have administrator credentials for the print server. Just right-click on the local print server within the PMC and select Automatically add network printers. Click Start, and you're done. To give yourself a more organized view of the printers on your network, you can add printer filters, which restrict a view to only printers which meet a certain criteria. The PMC comes with three built-in filtersall printers (which isn't really a filter after all), printers that have a status of "Not Ready," and printers that currently have an active job. You might find it useful to create specific views of all printers in a building, printers that have the capability to print in color, or all printers out of paper. With each filter, you can specify that an email or script be run or sent when there are printers that satisfy the filter's criteriauseful for those problem printers. To set up a filter:
3.11.3.2. Performing mass administration tasksBy using the All Printers view of the PMC, you can perform some mass actions on all the printers listed, including pausing printing, resuming printing, canceling all jobs on all printers, listing all of the printers in Active Directory, or removing all printers from Active Directory. Just select the All Printers view in the PMC, and then select all printers in the righthand pane. Right-click anywhere in the pane, and then select the bulk action you'd like to perform. 3.11.3.3. Device driversThe PMC can list, by server, each printer driver installed on your print servers. This is useful for seeing which print servers support which types of printers, and you also have a convenient interface to add, remove, or reinstall print drivers. You can perform all of these actions by expanding the particular print server in question in the left pane, right-clicking on the Drivers section of the tree, and selecting Manage Drivers. From there, you can:
3.11.4. Custom Printing ConfigurationsIn this section, I'll look at some custom printing configurations and scenarios which you might encounter in your organization. 3.11.4.1. Controlling the print spooler serviceThe print spooler service controls all parts of printing in Windows, taking documents from applications that request printing services and distributing them to the correct printer drivers as needed. You can control the service through both the GUI and the command line. To view the print spooler service status through Windows, follow these steps:
To start or stop the printer spooler from a command line, follow these steps:
The spooler service can have dependencies from other services. If other services need the spooler to be running, you'll be prompted with a list of those services that need to be stopped before Windows will allow you to stop the service. Also note that the print spooler service is authenticated through the Local Computer system account by default, not through a specific user account. 3.11.4.2. Configuring default printer settingsBy using the Printing Defaults section of the properties page, you can set the default settings , such as paper size, layout orientation, tray selection, and number of copies printed, for all users who connect to that specific printer. Individual users can further customize these settings by using the properties page for the printer as listed on their client workstation, but those settings will apply only to that installation, not to all users who connect to the networked printer. In security-sensitive environments, you might want to set the default paper source to Manual. This ensures that a document will not print until the user feeds the paper to the printer, so confidential information is not left on a printer tray. You also might consider purchasing a printer that supports a password authentication feature, which holds a print job from actually being printed until the user enters a password at the printer console. You usually find this feature on the more expensive network printers from HP, Tektronix, and others. To configure default settings for a printer, follow these steps:
3.11.4.3. Choosing a separator pageA separator page is simply a piece of paper that follows a job to acknowledge a switch in printer language. It's useful for a high-volume shared network printer, where many people's jobs go, so that the users don't get confused about printer languages. You need the Manage Printers permission set via your user account properties in Local Users and Groups inside the Control Panel for nondomain machines or Active Directory Users and Computers for domain computersto adjust the settings for the separator page. Note that in smaller networks or individualized security groups, it might be easier to assign the Manage Printers or Manage Documents permissions to the group that is associated with a particular printer. For example, if the accounting department has their own printer (called ACCTG1) that no one else uses, by granting the Manage Printers right to all members of the ACCTG1 Users group, you can delegate a good bit of administrative responsibility. Any member of the group can then add and delete documents from, modify, or otherwise manage the print queue itself. To enable and choose a separator page, follow these steps:
3.11.4.4. Adding printer drivers for other operating systemsTake, for example, this scenario: you have clients running other operating system versions that need to connect to the same shared printer, and you want to automate driver installation for those clients. Especially in larger organizations, it's generally a good idea to install drivers for other operating systems on the server to facilitate printer setup, deployment, and management. If the drivers for a particular printer are on a server on your network, it's easy to construct a login script or other GP-based automated install utility to deploy a new network printer to a group of users and desktops. Storing drivers on the server also makes pushing updated revisions of the driver a lot easier. NT 4.0, Windows 2000, and XP Home clients check printer drivers on the print server each time the connection to the server is reestablished. NT 3.1, 3.5, and 3.51 clients look for an updated driver each time the client spooler service is started. New copies of the drivers are downloaded at each of these times if newer versions of the drivers are available from the server. Windows 9x-based print drivers are not capable of being kept current automatically, so you must manually update the drivers on these clients when you do a server-based update for other platforms. To install printer drivers for other operating systems, follow these steps:
3.11.4.5. Publishing shared printers into Active DirectoryPublishing a printer to Active Directory accomplishes much the same effect as publishing a file share: your users can search for it within Start/Find or Start/Search (depending on the operating system) without needing to call the help desk to find the closest printer. Of course, you must share a printer before you can publish it to the directory. If you add a printer to a server running Server 2003, it is shared by default. However, printers attached to computers running client operating systemsWindows XP, Windows 2000, Windows NT, and the likeare not shared by default. You must share them manually. As well, the user account you use to share and publish a printer into the directory must have the Manage Printers permission on the user account. Note that to publish a printer shared using a computer running Windows NT, you must use the Active Directory Users and Computers snap-in. If you have Active Directory domains and your GP settings are still at their default configuration, the options to Automatically publish new printers in Active Directory and Allow printers to be published still are enabled. Therefore, the printer will be published by default. The full name of a shared printer (for example, \\SERVER\LASER_PCL) should contain no more than 32 characters, for maximum legacy application compatibility. To publish a printer to Active Directory, follow these steps:
3.11.4.6. Setting up alternate/restricted printing timesPrinters are always available by default, but for various reasons you might want to restrict their availability. For example, if you have an expensive printer that is used only for producing camera-ready proofs and the proofs are due by 1:00 p.m. each day, you might want to set the printer as available only between 6:00 a.m. and 1:00 p.m. to help prevent wasting the expensive resources it uses for jobs other than those proofs. To restrict printing to certain times of the day, follow these steps:
3.11.4.7. Controlling print priority between groupsLet's say you want to give a user or a certain group priority access to a printer. How do you do that? The process is simple, if non-intuitive: create two logical queues for the same physical printer, one with a higher priority than the other, and restrict the higher-priority queue to the members of the group that require it. Note that setting a priority on a single printer with only one print queue is effectively doing nothing. You must have two or more logical print queues for one physical printer to take advantage of the priority feature. To control print priority between groups, follow these steps:
3.11.4.8. Using PostScript and PCLIf you want users to print to a printer that supports both PostScript and PCL, create two different print queues, one for each language. Users can then print to the appropriate queue, depending on the language they need.
To print to a printer that supports both PostScript and PCL, follow these steps:
3.11.4.9. Retaining all print jobsFor regulatory reasons, you might want to keep a copy, inside a print queue, of everything that is printed from that queue. To retain documents in a print spool, follow these steps:
When retaining copies of the documents you print from a queue, you need to carefully monitor the disk space on the server that hosts the queue. To clear out the disk space occupied by the copies of the documents, uncheck the Keep Printed Documents checkbox as described in step 3. 3.11.4.10. Configuring printing to multiple physical printersPrinter pooling enables you, as the administrator, to create a set of printers that print multiple copies of documents when they are sent to the queue. This is useful in law or customer service applications, in which printed document review must be completed in a timely fashion. To use printer pooling, you must have identical printers with identical drivers. To set up a printer pool, follow these steps:
3.11.4.11. Adding color profilesColor profiles help users of publishing software synchronize colors between their client computer's monitor and the color printer. Often, colors are mismatched and painted differently between each device, which can result in substandard output from the printer. By associating a color profile with a printer, publishing software on the client computer can use the profile to ensure the colors that are displayed on the screen are the colors that will be printed on the document itself. Native to Windows is a color profile that is compatible with any device that supports the Image Color Management 2.0 specification. This file is: %SystemRoot%\System32\Spool\Drivers\Color\sRGB Color Space Profile.icm. Logically, it follows that color profiles are supported only on color printers, and the Color Management tab within a printer's properties page is found only on printers that the driver installed on the server specifies as color printers. To associate a color profile with a printer, follow these steps:
3.11.4.12. Tracking the location of printersIf you have more than one Active Directory site, you can enable printer location tracking to help your users identify the geographic location of printers within the directory. To use printer location tracking, you need to have an IP address assignment system that corresponds closely to the physical layout of your sites, and a subnet object within Active Directory for each site.
To enable printer location tracking, you must first create a subnet object for each site, which is named based on a common pattern that you determine. Configure a Group Policy object to preconfigure a printer search location for each user. Enter the printer's location (based on the naming convention assigned in the first phase of this procedure) inside its properties page and publish that information to the AD. The following instructions step you through this process:
Figure 3-45. Enabling the printer prepopulation policy |