Symptoms

The Odin Automation task 'Change target address for contact', used to modify an Exchange contact, fails with the following output:

Task name   Change target address for contact 'mfw00288473-6390367' (id = 6543198)
Queue name  DomainService00288473
Last execution output  Provisioning request failed. Error in 'SW Managed Exchange.ModifyMailEnabledContact'.
Exception calling "Execute" with "3" argument(s): MailContact.CreateFromPSObject failed

The following error appears in the WPE log when the task is executed:

INFO    2013-10-04 22:42:39 (1864/3824): Prepare for invoke PowerShell2 command 'Get-Recipient -Identity "CN=mfw00288473-6390367,OU=S001049211,OU=R0001024472,OU=Hosting,DC=domain,DC=tld" -DomainController DC01.domain.tld'...
...
ERROR   2013-10-04 22:42:41 (1864/3824): The operation couldn't be performed because object 'domain.tld/Hosting/R0001024472/S001049211/mfw00288473-6390367' couldn't be found on 'DC01.domain.tld'.
DEBUG   2013-10-04 22:42:41 (1864/3824): Recipient LDAP://CN=mfw00288473-6390367,OU=S001049211,OU=R0001024472,OU=Hosting,DC=domain,DC=tld is mail disabled or not found
ERROR   2013-10-04 22:42:41 (1864/3824): MailContact.CreateFromPSObject failed

Cause

Contacts with names like mfw00288473-6390367 are created by OA when a customer enables forwarding for an Exchange mailbox. The number 288473 in this example is the internal domain service ID, while 6390367 is the ID of the mailbox.

The task fails because the Active Directory object with the distinguished name (DN) 'CN=mfw00288473-6390367,OU=S001049211,OU=R0001024472,OU=Hosting,DC=domain,DC=tld' mentioned in the WPE log either does not exist or it is not a mail-enabled object.

You can verify the object's existence using the adsiedit.msc tool at the preferred domain controller, which can be found in the POA Provider Control Panel at Deployment Director > Server Manager > Hardware Nodes > select domain controller > Applications > ADDomainController > Preferred Domain Controller tab.

You can check if the object is mail-enabled using the Exchange cmdlet Get-Recipient as specified in the WPE log. For example:

Get-Recipient -Identity "CN=mfw00288473-6390367,OU=S001049211,OU=R0001024472,OU=Hosting,DC=domain,DC=tld" -DomainController DC01.domain.tld'

Exchange cmdlets are supposed to be used in the Exchange Management Shell. Replace DC01.domain.tld with the preferred domain controller you found earlier.

An Exchange contact is created by the task with the name "Enable forwarding to email address for mailbox 'Mailbox Name' (id=ID)" in the same task queue as the failed task. In this particular case, the queue name is DomainService00288473, which can be seen in the failed task in POA Task Manager.

This issue can occur because the above task to enable forwarding for an Exchange mailbox fails and is canceled.

In some cases, task "Change target address for contact..." can be scheduled right after task "Disable email forwarding for mailbox" is completed. Therefore, task "Change target address for contact..." fails because object on Exchange side was already removed.

Resolution

  1. Find the task "Enable forwarding to email address for mailbox <Mailbox Name> (id=ID)" in Task Manager (use the proper mailbox ID from the failed task properties).

  2. Investigate why the task failed and fix the problem.

  3. Re-run the task "Enable forwarding to email address..." and then re-run the task "Change target address for contact...".

In case when task "Change target address for contact..." was scheduled right after "Disable email forwarding for mailbox":

  1. Cancel task "Change target address for contact..."
  2. Enable Forwarding for mailbox in Customer's Control Panel. Wait until provisioning tasks are completed.
  3. Rerun task "Change target address for contact..."

Internal content