Best Practices for Deploying Printer Location with Active Directory


Microsoft Windows 2000 introduces a new feature that allows clients to find printers that have been published in the Microsoft Active Directory service. To make it easy for your users to take advantage of this feature and locate printers based on their name, location, and other criteria, you must create a consistent location schema for your print organization. This white paper outlines some best practices for creating and maintaining a useful location schema for systems integrators, administrators and architects who are planning, deploying, or managing Windows print servers.

On This Page

Creating the Location Schema
Configuring Printer Location and Setting Location Policies
Setting Standards When Printer Location Tracking is Disabled
Related Links


In network environments, most users do not need to know the physical location of files, databases, or Web sites. However, they do need to know the physical location of hardware devices, such as printers. The printer location tracking feature in Microsoft Windows 2000 helps users find printers by storing their actual location in the Microsoft Active Directory service. When this feature is enabled, the location string is displayed automatically for each printer.

To use this feature, your network environment must have the following characteristics:

  • A Windows 2000 domain controller (which, by definition, runs Active Directory) and preferably more than one subnet.

  • A network IP addressing scheme that corresponds roughly to the physical layout of your enterprise (not required but very helpful).

  • Client computers that can query the directory service.

  • A subnet object for each site. Subnet objects can be created using Active Directory Sites and Services.

  • Your own naming convention for printer location.

  • Administrator privileges on the print server to set the printer’s location field, and permissions to create sites/subnets on the Domain Controller to populate the location field.

Group Policy lets you configure printer location tracking for a group of computers using the Computer Location and Pre-Populate Printer search location text policies.

Notes: For more information about these policies, see the Explain tab for each policy or the Windows 2000 Resource Kit Group Policy Reference (Gp.chm) on the Windows 2000 Resource Kit companion CD (located on the Windows 2000 Server CD as part of Support Tools).

For the steps to set up printer location tracking, type "printer location tracking" in the index of Windows 2000 Server Help.

The location search ability can be very useful for your clients, as long as all printers in your organization use a consistent schema that allows users to search. The location schema used for printers should be planned out thoroughly before deployment as it will be used throughout your printing organization. This white paper outlines some best practices for creating and maintaining a useful location schema.

The major steps involved in this effort are:

  1. Verify the printer names and their subnets. It’s best to keep this information in a spreadsheet or database and update it regularly. This information is helpful when upgrading print servers and for general maintenance as well.

  2. Define the location tree structure.

  3. Configure the printer locations.

  4. Enable the printer location tracking policy.

  5. Test the final setup.

Creating the Location Schema

As noted, you must first create and maintain a location schema to allow users to search for location. It is important to think carefully about your location schema before deploying it. You want to make sure that it will be flexible enough to describe all locations where printers can be placed. This schema will be used by your entire organization, so it’s worth spending the time up front to design it properly.

Because location names are used by end users, the names should be simple and easy to recognize. Avoid using special names known only to facilities management. For better readability, avoid using special characters in a name, and keep names to a maximum of 32 characters to make sure that the whole name string is visible in the user interface. Names should conform to the following characteristics:

  • Location names are in the form name/name/name/name/... (The slash (/) must be the dividing character.)

  • A name can consist of any characters except for the slash (/).

  • The number of levels to a name is limited to 256.

  • The maximum length of name is 32 characters.

  • The maximum length of an entire location name is 260 characters.

In particular, you should make certain that the schema is flexible enough to allow for future changes in your organization. Ideally, the schema can follow the subnet layout of your organization (assuming you have a geographical-based subnet hierarchy), because then it is possible to write scripts that will automatically populate the location field of all of your printers based on the subnet.

As an example, consider an organization with multiple locations in North America and Europe. The naming scheme for the organization might be as follows:

Top level




















































































Note that the tree varies in depth depending on the complexity of the organization and the amount of detail available in the IP network. The naming convention for this example includes more levels than for a smaller organization located in a single city, or a single building. The full name of the design building in Buffalo, New York is NorthAmerica/NewYork/Buffalo/Design; for the design building in Paris, the full name is Europe/Paris/Design, and the smaller office in Dallas has the name as NorthAmerica/Dallas.

Configuring Printer Location and Setting Location Policies

To enable printer location tracking and set the automatic print population policy, do the following:

  1. Open Active Directory Sites and Services.

  2. Create the sites you want, if you haven't done so already.

  3. Associate a subnet for this newly created site, if you haven't done so already.

  4. Right-click each subnet you created, and then click Properties.

  5. Click the Location tab, type the location of the subnet in the following format based on your location naming convention, and then click OK:

  6. Using Group Policy, double-click the Pre-populate printer search location policy setting, and then click to enable it.

    The following example demonstrates how to set the policy to a group (organizational unit in Active Directory terms) of users that use that printer. However, you can set the policy to a different object using the appropriate Active Directory utility.

    1. Start Group Policy from Active Directory Users and Computers.

    2. Right-click the organizational unit you want to apply the policy to, and then click Properties.

    3. Click the Group Policy tab, and then click New to create a new object. Type the name of the new object, and then click OK.

    4. Select the newly created object, and then click Edit.

    5. Expand Computer Configuration, then Administrative Templates, and then Printers.

    6. Double-click the policy setting Pre-populate printer search location, and then click to enable it. When you search the directory service for printers, it fills in your location field using the value specified in the Location tab of the Subnet properties page. If this policy is disabled (default), the location will be empty.

      Notes: It is also possible to set location manually per-computer by group policy.

  7. Open Printers and Faxes.

  8. Right-click the printer, and then click Properties.

  9. Type the printer location based on your schema, or click Browse to find it. You probably want to be more precise in describing the printer location than the subnet location. For example, for the subnet location NorthAmerica/Dallas, you might type NorthAmerica/Dallas/Floor42/Room4207.

  10. Repeat the last two steps for each printer in Active Directory.

It is recommended to script Steps 7-10 by using the prnadmin.dll utility that ships in the resource kit. To use this utility, you must refer to your existing spreadsheet or database of printers and their locations and then, rather than opening each printer’s properties to set the location, you can use the tool to set the printer locations according to the inputted information.

The following is an example of how one can set the location using prnadmin.dll. Typing cscript prncfg.vbs /? in the command prompt will show this example.

cscript prncfg.vbs -s -b PrinterName -l "Building A/Floor 100/Office 1"

Where PrinterName can be a UNC name.

Notes: To open Active Directory Sites and Services, click Start, point to Programs, point to Administrative Tasks, and then click Active Directory Sites and Services.

Setting Standards When Printer Location Tracking is Disabled

As mentioned previously, you can add information to Location in the General tab of the printer property page even if printer location tracking is disabled. However, this imposes a potential problem. When users search for printers on the tenth floor, they need to know exactly what to type in the Find Printers property page when they click Start, then Search, and then For Printers. When printer location tracking is enabled, the Location field in the Find printer property page is filled in automatically.


As described in the preceding sections, the location search ability can be very useful for your clients, as long as all printers in your organization use a consistent schema that allows users to search. Following the recommendations in this white paper will help create a consistent and useful schema that you can deploy throughout your print organization.

See the following resources for further information: