Recipient Update Service and Exchange Server 2003

 

Exchange Server 2003 communicates with directory servers to update recipient objects (such as mailbox-enabled user accounts and mail-enabled groups) with e-mail addresses, according to the recipient policies defined for the organization. To do this, Exchange Server 2003 uses Recipient Update Service, a component of System Attendant. Recipient Update Service creates and maintains Exchange Server 2003-specific attribute values in Active Directory. If you create a mailbox for a user, Recipient Update Service automatically generates the user's SMTP address and any other proxy addresses that you defined for your recipients.

Exchange Server 2003 installs two instances of Recipient Update Service:

  • Enterprise configuration Recipient Update Service   There is only one instance of this Recipient Update Service in the organization, because the Enterprise Recipient Update Service is used to update the configuration directory partition, and there is only a single configuration directory partition shared by the entire forest.

  • Domain Recipient Update Service   You must have a Recipient Update Service for each domain that contains mailbox-enabled users.

For each particular domain in a forest, Recipient Update Service associates one Exchange Server 2003 computer (on which Recipient Update Service runs) with one domain controller (on which the directory objects are updated). Only one Recipient Update Service can be associated with any directory server at any given time.

Updating Recipient Objects

The method that Recipient Update Service uses to perform a search is determined by the actions that an Exchange administrator takes in Exchange System Manager. For example, in Exchange System Manager, you can right-click a Recipient Update Service configuration object and select the Rebuild command to recalculate address list memberships and the recipient policy settings of all recipients in a domain at the next scheduled interval. You can also select the Update Now command to perform this processing immediately.

Recipient Update Service searches the directory for objects to update in the following three ways:

  • Update new and modified objects only    This is the default behavior that Recipient Update Service exhibits each time it searches for objects to update. This is also the default behavior that Recipient Update Service exhibits when you use Update Now, if you do not select the Rebuild option, and none of the policies were modified or applied.

    Recipient Update Service tracks the last change that occurred on the domain controller, against which Recipient Update Service is configured to run. Based on the schedule that is set on the Recipient Update Service object, Recipient Update Service periodically checks for objects that have been created or updated since it last checked.

    The Update Now function in Exchange System Manager sets the msExchReplicateNow attribute to TRUE, and causes Recipient Update Service to temporarily ignore its schedule and immediately query for new changes and take appropriate action on those objects. After the Update Now process is finished, msExchReplicateNow is reset to FALSE.

  • Update all objects   When you select the Rebuild option in Exchange System Manager, you set the msExchDoFullReplication attribute on Recipient Update Service to TRUE. After msExchDoFullReplication is set to TRUE, the next time that Recipient Update Service starts, it looks at every object, instead of querying only for new objects. When the Rebuild process finishes, msExchDoFullReplication is reset to FALSE.

  • Update objects that correspond to a specific recipient policy   You can modify the filter on a policy (the purportedSearch attribute) to cause Recipient Update Service to take action beyond its default behavior. When you modify the filter on a policy, the policy can apply to a completely different set of users than those to whom it applied previously. Because of this, if the filter on a policy is modified, Recipient Update Service queries for every user who matches both the later filter and the earlier filter. This occurs the next time that Recipient Update Service is started by the schedule or by the Update Now command. Recipient Update Service runs against all users who match either filter and updates their msExchPoliciesIncluded attribute to reflect the filter that now applies.

    However, users who are subject to a different policy do not have their e-mail addresses re-generated automatically. To update the addresses on those users to match the current policy, you must use the Apply Now command to apply the current policy.

    If you change only the e-mail addresses on a policy, the default behavior of Recipient Update Service does not change. It updates new and modified objects only. You must change the filter on the policy to cause Recipient Update Service to query automatically for all users who match that policy and to update all of them. However, even if you change the filter on the policy, and Recipient Update Service queries for all users, Recipient Update Service does not re-generate the users' existing e-mail addresses to match the new recipient policy settings. Instead, new e-mail addresses are added.

    When you apply a policy, Exchange System Manager populates the gatewayProxy attribute on the Recipient Update Service objects with each address from the applied policy. The gatewayProxy attribute acts as an action list. For example, the gatewayProxy attribute on your Recipient Update Service objects might be populated with a list of values similar to the following values:

    {667A1454-FCD1-434F-B3C6-D9B6D2B4A336}X400:c=us;a= ;p=Organization;o=Exchange;

    {667A1454-FCD1-434F-B3C6-D9B6D2B4A336}SMTP:@contoso.com

    {667A1454-FCD1-434F-B3C6-D9B6D2B4A336}smtp:@fabrikam.com

    These values contain the objectGUID attribute of the policy, followed by the addresses on the policy. Note that two of the address types are in uppercase text. This indicates that these are primary proxy addresses. The one SMTP address type that is in lowercase text is a secondary proxy address.

    Based on the action list, Recipient Update Service updates the proxy addresses on all users that match the corresponding policy filter. To apply the policy to all users, you also must modify the filter on the policy (the purportedSearch attribute), by either adding or removing a space. This modification causes Recipient Update Service, the next time it runs, to query for all objects that match this policy, instead of querying for new changes only. After Recipient Update Service completes the recipient update, the addresses corresponding to that particular policy are removed from the gatewayProxy action list.

    Note

    Recipient Update Service re-generates or removes existing addresses on a recipient only when the action list is populated with those address types.