Domain-Level Printer List Is Not Refreshed

Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:
256986 Description of the Microsoft Windows registry

Symptoms

When you use the Add Printer Wizard to add a printer, networked printers are listed at both the domain level and the server level. The list of printers at the domain level may not be correctly refreshed as printers on a server are removed, and the printers remain in the list. Printers at the server level are appropriately refreshed and removed from the list.

Also, no domain-level printers may be listed, even when there are networked printers at the server level in the printer browse list.


Cause

When a printer is shared, the share name is announced to 3+n/32 servers, where "n" is the number of print servers in that domain. Then, the selection algorithm is re-announced every 10 minutes. Names are also re-announced when new shares are created on the server. The Spooler service listens to these announcements, adds the printer(s) to its list of printers, and records a time stamp. The time stamp is refreshed every 10 minutes. If a printer is not refreshed in 70 minutes, it is removed from the list.


Resolution

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

The "NetPrinterDecayPeriod" registry value specifies how long to cache a networked printer. The cache is used to present the list of printers when the browse list is used. The time-out value can be changed in the registry. This setting needs to be made on the print server.

The following registry entries manipulate client and server behavior in regard to print browsing:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print

DisableServerThread REG_DWORD
Range: 0 or 1
Default: 0 (false)
Set this to 1 (true) to disable the browse thread on the current computer. This thread is used to call other print servers to notify them that this printer exists.

ServerThreadTimeout REG_DWORD
Range: Milliseconds
Default: 36,000 (36 seconds)
Specifies the amount of time the ServerThread sleeps before it calls all the other print servers to notify them of the printers on this computer.

NetPrinterDecayPeriod REG_DWORD
Range: Milliseconds
Default: 3,600,000 (1 hour)
Specifies how long to cache a network printer. The cache is used to present the list of printers when the browse list is used.

RefreshTimesPerDecayPeriod REG_DWORD
Range: 1 - 5
Default: 2
Specifies how many times to inform the browse masters and backup servers per decay period. The default value is two times per hour. Do not set a zero value if you specify both RefreshTimesPerDecayPeriod and ServerThreadTimeout; the system will wait for the maximum of either the ServerThreadTimeout or the RefreshTimesPerDecayPeriod.


Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

More Information

For additional information about how to use Group Policy to manage printers, click the following article number to view the article in the Microsoft Knowledge Base:
234270 Using group policies to control printers in Active Directory

841142 The list of available printers takes a long time to appear on a Windows 2000-based client computer

161734 Windows NT and Windows 2000 print browsing architecture

Propriétés

ID d'article : 227908 - Dernière mise à jour : 31 oct. 2006 - Révision : 1

Commentaires