CDOLive LLC The Premier Resource for Microsoft Collaboration Data Objects             

GAL to Outlook Contacts Conversion Agent Script

This sample Exchange Server scripting agent creates Outlook contact items for each entry of the Global Address List (GAL) and adds the primary SMTP e-mail address of the GAL entry to the contact. It is especially useful if you have a handheld device, like a Palm or Windows Powered/CE, and want to synchronize the Global Address List with your handheld device. Because those devices don't support synchronizing the Exchange GAL you can use this agent to create contacts which can be synchronized with all handheld devices.

Known Issues

Don't hide the mailbox or the public folder from the Global Address List (GAL), because the Microsoft Exchange Server Scripting and Routing script will fail to run if the mailbox is not visible in the GAL.

Microsoft Exchange Server Scripting and Routing scripts are not running synchronously. It can take up to 60 seconds before the script is fired.

Also keep in mind that it can take a lot of time and system resources to run this script. Please take a look at the Microsoft Knowledge Base article 'Suitable Applications for Microsoft Exchange Server Event Scripting' about the limitations of Microsoft Exchange Server Scripting and Routing before you use the sample. It can be found at 'The Secrets of Exchange Server Scripting & Routing', Useful Links.

Make sure that nobody has permissions to write to the desired Outlook contact folder because Outlook resolves the SMTP e-mail address into an Exchange Server GAL entry each time you open the contact with Outlook (and close it even without saving the item).

Due to a restriction of CDO 1.x the created contact items will not be visible in the Outlook Address Book even if you enable the public folder as Outlook Address Book.

Prerequisites

Make sure that Microsoft Exchange Server 5.5 with the Microsoft Event Service is installed and running properly. For more information about the Microsoft Exchange Server Scripting and Routing please take a look at The Secrets of Exchange Server Scripting and Routing.

Checked Build

If you would like to use this sample with another language version of Microsoft Exchange Server or Microsoft Outlook, it is possible that the sample will not work without modifications. Please consult the source code for more information. This sample is build and checked for a proper function using the following environment:

  • Microsoft Windows NT Server 4.0, with Service Pack 6a, US English - International
  • Microsoft Windows 2000 Server, with Service Pack 1, US English - International
  • Microsoft Exchange Server 5.5, with Service Pack 4, US English - International
  • Microsoft Outlook 2000, with Service Release 1, US English - International
Installation and Configuration
ComponentDescription
'GALAdmin' Mailbox The mailbox, which is used to create the contact items.

To create the mailbox start the Microsoft Exchange admin program and add a new recipient called 'GALAdmin'. Associate the Microsoft Exchange Server Service account to this mailbox, to make sure that the Microsoft Exchange Server Scripting and Routing script can run without problems. In the 'Permissions' tab of the mailbox add the NT account of yourself to make sure that you can open the mailbox and install the Microsoft Exchange Server Scripting and Routing script later.

Use the Microsoft Exchange admin program to add the 'GALAdmin' mailbox to the 'Folders\System Folders\Events Root\EventConfig_<Your Servername>' folder with 'Owner' permissions to make sure that this mailbox can create and modify Microsoft Exchange Server Scripting and Routing scripts. If you don't see this particular folder in the Microsoft Exchange admin program it is possible that the Microsoft Exchange Event Service is not installed or you are not running Microsoft Exchange Server 5.5. For more information please take a look at 'The Secrets of Exchange Server Scripting and Routing', Installation.

Create a new MAPI profile on your machine for the Exchange Server Service called 'GALAdmin' and add the mailbox 'GALAdmin' to the profile.

gal2contacts.zip (4 Kbyte) Scripting and Routing Script The Microsoft Exchange Server Scripting and Routing script.

To install the script, start the Microsoft Outlook client and logon as the mailbox 'GALAdmin'. Select the desired public contact folder and right click on it to choose the properties. If you are not able to see the 'Agents' tab you may not have installed Microsoft Outlook 97 8.03 (or later), the Server Scripting add-on is not installed in Microsoft Outlook 97/98 or the permissions are not set properly. For more information please take a look at 'The Secrets of Exchange Server Scripting and Routing', Permissions and Security.

Open the Microsoft Exchange Scripting and Routing script with notepad and choose 'Edit', 'Select All' and copy it to the clipboard. Open the properties of the inbox of the mailbox 'GALAdmin' and select the 'Agents' tab. Choose 'New...', enter the agent name 'GAL2Contacts' and choose 'A scheduled event occurs' from the 'When the following event(s) occur:' list. Choose 'Schedule' and select the time schedule you want to have the contacts updated. Choose 'Edit Script...' and choose 'Edit', 'Select All' in the editor, which is opened. Paste your Microsoft Exchange Scripting and Routing script in the editor and choose 'File', 'Exit'. You now will be asked to save the changes in a particular file. Don't bother about the filename select 'Yes' and exit all dialog boxes by choosing 'OK'.

To allow the Microsoft Exchange Event Service to update this information wait about 5 minutes and then you can try to start testing your solution.