Customizing the Outlook Address Book

It is possible to change the fields in the Outlook address book to make them a better fit for your organisation. Exchange provides templates for Users, Contacts, Groups, Public Folders, and Mailbox Agents that are downloaded to Outlook. Any changes will be visible in the address book. As usual with Exchange, careful planning before you make changes pays dividends, Ben Lye explains.

I was recently asked if it was possible to change the information fields which are displayed in the Outlook Address Book for users – the person making the request wanted to add an additional telephone number field on the General and Phone/Notes property pages to display an internal extension.

This kind of customisation is probably something that many Exchange organisations can benefit from, and the changes to the Outlook Address Book can be implemented easily within Exchange using the Exchange Details Template Editor.

The Details Template Editor is an MMC snap-in which provides a GUI for editing the object properties which are displayed when an object opened from the address book.  Details templates can be modified for Users, Contacts, Groups, Public Folders, and Mailbox Agents.  The Advanced Find search dialogue box can also be edited.  Each of the six template types can be modified in 50 different languages.  The Details Template Editor is installed along with the Exchange Management Tools.

To start the Details Template Editor in Exchange 2007 RTM:

  • On the taskbar, click Start, and then click Run.
  • Type “mmc” in the Open field.
  • On the Console menu bar, click File, and then click Add/Remove Snap-in.
  • In Add/Remove Snap-in, on the Standalone tab, click Add.
  • In Add Standalone Snap-in, select Details Templates Editor from the list of available stand-alone snap-ins, and then click Add.
  • Click Close to close the Available Snap-ins dialog box, and then click OK on the Add/Remove Snap-in dialog box.

To start the Details Template Editor in Exchange 2007 SP1 or SP2 or Exchange 2010 either use the method above, or:

  • Launch the Exchange Management Console
  • Select Toolbox in the console tree
  • Double-click Details Template Editor in the results pane

893-BL1.JPG

Figure – Exchange Details Template Editor

Note: In order to use the Details Template Editor you need to be delegated the Exchange Organization Administrator role.

In my case I needed to edit the English User template – to open the template for editing double-click it and the template editor window is shown.

893-BL2.JPG

Figure – Editing the English User template

The template editor is divided into three panes: the toolbox pane on the left, the designer pane in the centre, and the properties pane on the right.  New fields can be added to the template by selecting the appropriate element type in the toolbox pane, placing the element in the designer pane, and linking it to an object attribute in the properties pane.  The properties pane can also be used for fine-grained control over the size and position of elements as well as tab order and text size.

Note: The template editor does not include any undo functionality – you cannot undo any changes made in the editor, but the template can be reverted back to default settings.  Templates are restored by right-clicking the template to be restored and selecting “Restore”.

The object attributes which can be displayed on a template are limited to those provided by Microsoft.  While it is technically possible to extend the set of attributes by modifying the Active Directory schema, doing so is not supported by Microsoft.  If additional attributes which are not in the standard set are required the supported method of displaying the data is to use one of the fifteen Exchange extension attributes.

In my case I wanted to use the Active Directory attribute IpPhone, which had already been populated with the IP telephone numbers for our staff.  As this attribute is not one included in the standard set I had to copy the data to another attribute which could be used.  To do this I copied the data from the IpPhone attribute on each user record in AD to the Exchange extension attribute extensionAttribute1.  The easiest way to do this in the Exchange Management Shell is with a short script.

This script will copy the value of the IpPhone attribute to the Exchange extensionAttribute1 attribute for all enabled user objects:

Once the data is in an attribute which can be exposed via the details templates, then modifying the templates is relatively easy.  An existing element can be re-labelled and linked to the new data, or a new element can be added.  When modifying or adding elements, you must match the element type to the AD field type – single-valued elements (checkbox or edit box) must be used for single-valued AD attributes (such as primary telephone number fields), and multi-valued attributes (listbox, multivalued dropdown and multivalued listbox) should be used for multi-valued AD attributes (such as ‘other’ telephone number fields).  Mismatching single and multi-valued elements and AD attributes will result in data not displaying.

I decided to replace “Assistant” on the “General” tab of the user details with the new IP phone number.  To complete my changes I opened the English user details template, changed the label text from “Assistant” to “IP phone”, and changed the AttributeName property of the element from “ms-Exch-Assistant-Name” to “ms-Exch-Extension-Attribute-1”.

893-BL3.JPG

Figure – Editing the elements

After saving the change to the template the changes are immediately available to Outlook clients which are not in cached-mode.  Cached-mode clients will need to wait for the offline address book to be updated and a full download of the offline address book to occur (which by default in Outlook 2007 is only attempted once in a 13-hour period).  The server update of the offline address book can be forced to run by running Get-OfflineAddressBook | Update-OfflineAddressBook and Get-ClientAccessServer | Update-FileDistributionService -Type OAB in the Exchange Management Shell.

Once the server-side update has run and the client has downloaded the new templates the changes will be visible in the address book.

893-BL4.JPG

Figure – The new details template in Outlook

Editing the details templates is relatively easy, but like all things Exchange careful planning will make implementing the changes much easier.  When planning for template changes it’s important to know what type of data you intend to add to the templates, and understand that while not all data in AD can be exposed directly to the Outlook Address Book there are workarounds available.

More information on customising the Outlook Address Book by editing the details templates is available in Microsoft TechNet:

http://technet.microsoft.com/en-us/library/bb124525.aspx