Since the overuse of acronyms one major issue with ANR as an acronym is that it may be interpreted in different ways. I personally have heard this acronym to be deciphered in the following forms:
- Ambiguous Name Resolution
- Automatic Name Resolution
- Address Name Resolution
The good news though is that the form in which you wish to interpret ANR is not important since when you say ANR to a person proficient in Exchange server you can mean only one thing…
What is the definition of ANR?!
ANR is the ability of an Exchange/LDAP client to determine information based on partial data. Since we are mainly focused on Exchange server I will emphasize the Exchange related facets of this subject.
When using an Exchange client such as Outlook, a user might enter partial data in the From, To, CC or Bcc fields.
The client, with the help of the Exchange directory will try to match the partial data and provide the address of the matching object.
If an exact match is found then the address representing the matching object will be auto completed.
If an ambiguous match is found then all potential matches are displayed and the client is allowed to choose the object he or she want to use.
By whom and how can ANR be used?
Ambiguous Name Resolution (ANR) can be used by LDAP clients, which in turn makes the process of binding to objects in the directory simpler.
Exchange allows different clients to use the ANR feature - the two major clients to use the feature are Outlook and Outlook Web Access (OWA).
There are two modes of using ANR:
- Standard - The user enters a partial string that is matched both exactly and partially against specific attributes in the directory (according to the lists provided earlier for the different versions of Exchange). The results can be either exact or a list of possible matches.
- Specific Match- When the client needs the string he is searching for to be exactly matched he or she can submit the string preceded by the equal sign ('=Jason').
Understanding ANR (Looking behind the scenes)
The current versions of Exchange (2000/2003) use the Active Directory as their directory service; as such ANR uses the Active Directory when scanning for possible matches.
Once the user has entered a piece of partial data specific fields in the directory are scanned and if a match (full or partial is found) the client acts accordingly.
When ANR leaps into action (in a default configuration) it will search the following attribute fields of the Active Directory:
- First Name (GivenName)
- Last Name (Surname)
- Display Name (displayName)
- Relative Distinguished Name of the object (RDN)
- Office (physicalDeliveryOfficeName)
- E-mail address (proxyAddress)
- Security Account Manager account (sAMAccountName)
When ANR is used in conjunction with Exchange 5.5 it will try to match partial strings with the following attributes:
- Last Name (Surname)
- Display Name (Display-Name)
- Alias Name(Mail-nickname)
- Office (Physical-Delivery-Office-Name)
- E-mail Addresses (Proxy-Addresses)
Harnessing the power of ANR
In some cases it might be beneficial to include additional attributes to be matched using ANR. As an example a company might want to use a personal identifier when identifying its employees or they might want to include the 'Description' field when ANR is employed.
The benefits are quite obvious, by adding additional attributes to be used by ANR a system manager provides his users with better means of identifying specific users when using Exchange server.
Adding additional attributes to be used by ANR (Exchange 2000/2003)
As stated earlier in this document in the case of the current versions of Exchange (2000/2003) the directory service used by Exchange server is the Active directory. Since ANR is not a feature specific to Exchange server, but to the directory service used by Exchange, to add additional attributes to be used by ANR the Active Directory has to be changed.
The Active Directory holds its own mold and it calls it the Schema.
The Schema acts as a mold for the Active Directory since it holds the template for each and every object (and attribute) created inside the Active Directory.
In addition to being a mold for objects the Schema also controls three very important options for each and every attribute:
- Indexing – If checked the attribute will be indexed
- Ambiguous Name Resolution – If checked the attribute will be used by ANR
- Replication of the attribute to a Global Catalog – If checked the attribute will be replicated to all Global Catalogs in the forest.
To have ANR search an additional attribute use the following steps:
- Log on to the Domain Controller that serves as the Schema Master of the forest.
- Either install the full suite of administration tools (ADMINPAK.MSI) or register the Schmmgmt.dll file.
- Open Start>Run>MMC
- Open the 'Console' menu and choose 'Add/Remove Snap-in'.
- Click 'Add' and choose the 'Active Directory Schema'.
- Click 'Add'.
- Click 'Close'.
- Expand the 'Active Directory Schema'.
- Choose the 'Attributes' branch.
- Open the properties for the attribute that you want ANR to use.
- Check the following boxes
- Index this attribute in the Active Directory
- Replicate this attribute to the Global Catalog
- Ambiguous Name Resolution (ANR)
- Click on 'OK'.
- Close the management tools.
Keep in mind that since this procedure may add a new attribute to the Global Catalog it may cause a replication wave throughout your forest. You should plan this procedure to be executed at an idle time for the organization.
After completing the procedure (and the replication of the attribute) ANR should be able to use it.
Adding additional attributes to be used by ANR (Exchange 5.5)
- Start the Microsoft Exchange Server Administrator program in raw mode: <driveLetter>:\exchsrvr\bin\admin /r
- On the View menu, click Raw Directory. This adds the Schema container in the left pane.
- Double-click the Schema object, and then press the F5 key to refresh the display.
- Find the attribute in the list, and then open it's properties.
- When a message box is displayed, click Yes to view the raw properties of the object.
- From the Object attributes list, click the Search-Flags attribute.
- In the Edit value box, type a value of either 1 or 2 and then click Set:
- The value of 1 indexes the attribute
- The value of 2 indexes the attribute and adds it to ANR
- Click OK to close the properties
It is my opinion that a system manager must look at his systems and find ways to improve the services he provides for the users.
Usually system managers tend to focus only on the administrative benefits of a system yet system managers must remember that they provide a service to customers, which are the users that use the system. System managers should keep their customers happy by providing beneficial services but in most cases the customers don't know what to ask for.
By expanding the coverage of ANR and educating the users/customers about its benefits, a system manager can provide a useful service that will raise the satisfaction of his customers… or in other words, it is there so why not try it?