Publishing Windows 2000 Printers

You can only publish printers that are shared. Printer publishing is controlled by the List in the Directory check box on the printer's Sharing tab.

The Add Printer Wizard does not let you change this setting when you create a printer. Printers that are added using the Add Printer Wizard are published by default. If you do not want a printer published in Active Directory, on the Sharing tab of the printer properties, clear the List in the Directory check box.



For a USB printer that is detected and installed automatically, you must manually share and publish it using the Sharing tab.

The printer is placed in the print server's Computer object in Active Directory. Once it has been placed in Active Directory, the object can be moved or renamed using the Active Directory Users and Computers console.

Publishing a Printer Manually
To publish a printer in Active Directory manually, you must first set the pruning interval to "never." If you do not do this, the printer you manually add to Active Directory is removed the next time the pruner runs. Then publish the printer using the Add Printer Wizard to permanently create the printQueue object.

Publishing Mechanism

The print server sends data asynchronously to Active Directory. Initially it sends the data after a one-second delay. If this fails, the server retries after a longer period and continues until it reaches a delay of two hours. At this point the server retries at this interval until it is successful. During this pending phase, the message "The Directory operation is still in progress" is displayed on the Sharing tab of the printer properties.

The printer is published to a random domain controller, so a query might not show the printer until it has been replicated to all the domain controllers. For local domain controllers on the same site, the maximum delay is approximately 30 minutes, but is typically 5 – 10 minutes. For inter-site searches, the delay depends on the replication strategy of your organization.

Pruning Orphans

When a printer is deleted from a print server, the corresponding Active Directory object is removed. However, there can be circumstances where the printer is no longer available. For example, when the print server is being rebuilt or is powered off.

Under these circumstances the orphaned entries must be removed because Active Directory must reflect only the print devices that are currently available. A program called an orphan pruner accomplishes this by running on each domain controller to periodically check for orphaned printers. If a printer does not exist, it is deleted. The pruner only looks at print servers that are in the same site as the domain controller on which it is running.

The orphan pruner is controlled by several policy settings. By default, if the pruner cannot see a printer three times in a row at 8-hour intervals, it assumes that the entry is no longer valid and deletes it.

In some cases, the pruner might remove a printer that still needs to be published. For example, if a print server is down for a few days, its printers need to be removed. Once the server comes back up, its printers need to be republished. To cover this situation, a print server verifies that its printers are published when it restarts and the spooler starts up. You can force a restart by issuing the commands:

net stop spooler


net start spooler

Alternatively, you can use the "check published state" policy.

Sites Without Domain Controllers

It is unusual but possible to create an Active Directory site that has no domain controllers. If this case, the print servers in the site are never pruned. To resolve this, you can make another domain controller responsible for managing this site. This is also required for users to log on to the network.

To add a site to a domain controller in another site



Do not use a registry editor to edit the registry directly unless you have no alternative. The registry editors bypass the standard safeguards provided by administrative tools. These safeguards prevent you from entering conflicting settings or settings that are likely to degrade performance or damage your system. Editing the registry directly can have serious, unexpected consequences that can prevent the system from starting and require that you reinstall Windows 2000. To configure or customize Windows 2000, use the programs in Control Panel or Microsoft Management Console (MMC) whenever possible.

  1. Start a registry editor (Regedt32.exe or Regedit.exe).

  2. Add the SiteCoverage entry to the registry. For its value, list each additional site that the domain controller must cover:
    Path: HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Services\Netlogon\Parameters\SiteCoverage
    Data type: REG MULTI_SZ
    Value: < site name >