During a recent group mailbox migration from Exchange Server 5.5 to Exchange 2000 Server, my team encountered an unusual error. A mailbox failed to move, and Exchange System Manager (ESM) indicated that it couldn't process the move. The following series of errors appeared in the event log:
- event ID 1008—Unable to move mailbox mailbox_name.
- event ID 9169—Failed to copy basic mailbox information.
- event ID 9536—An ambiguous Mailbox Guid 2d28d01b-3eae-4ef7-bca7-4a1b95160caa was found on 0x2 mailboxes in the DS. The store cannot map this Mailbox Guid to a unique user.
The third error pointed us to the problem. Apparently, two Active Directory (AD) user accounts had the same msExchMailboxGuid attribute, which defines the user's mailbox globally unique identifier (GUID)—a value that the Exchange 5.5 Directory Store (DS) defines in a user's Mailbox Guid attribute. As a result, ESM couldn't determine which mailbox to move.
To correct the situation so that we could move the mailbox, we needed first to determine which user accounts were involved and which one had the wrong GUID, then to remove that value and assign the correct value. To find the accounts, we needed to search AD for the problematic GUID.
The Microsoft article "XADM: How to Map an msExchMailboxGuid Attribute to a User in Active Directory Users and Computers" (http://support.microsoft.com/default.aspx?scid=kb;en-us;q291542) contains some information about this process, but not enough. AD doesn't store the GUID in the format that event ID 9536 uses, so searching for the value that the event log shows doesn't result in any matches. To obtain the value in its searchable form, you need to open the Microsoft Management Console (MMC) Active Directory Users and Computers snap-in, then select View, Advanced Features from the menu bar. Select Action, Find and search for the mailbox name specified in event ID 1008 to find the corresponding user account object. Open the object's Properties dialog box and go to the Object tab. Note the full directory path to the account object. Open the MMC ADSI Edit snap-in and navigate to the user account. Select the account's msExchMailboxGuid attribute, then copy that value into a text editor such as Notepad. The value appears in the editor as 16 hexadecimal digits, preceded by the 0x hex identifier and separated by spaces. To use this value in your search, you need to separate the digits with backslashes (\) and remove the spaces. You can use Notepad's Search, Replace feature to replace all occurrences of "0x" with "\", then replace all spaces with no value. You end up with a text string similar to \1b\d0\28\2d\ae\3e\f7\4e\bc\a7\4a\1b\95\16\0c\aa. You then can use this string to search AD, as the Microsoft article explains. The results reveal all AD user objects that have the specified msExchMailboxGuid attribute.
To determine which object should not be using the conflicting GUID, you need to examine the Mailbox Guid of the users' corresponding Exchange 5.5 DS entries. A user account's AD msExchMailboxGuid attribute value should match the account's corresponding Exchange 5.5 Mailbox Guid value. (If the Active Directory Connector—ADC—created the AD user object, the AD objectGuid attribute also shares this value.) To view the Exchange 5.5 Mailbox Guid values, launch Microsoft Exchange Administrator in raw mode to determine the mailboxes' raw properties. The Mailbox Guid will be a string of 16 hex digits with no delimiters. For each account in conflict, compare the Mailbox Guid value with the msExchMailboxGuid attribute to reveal which mailbox has the correct GUID.
To fix the problem, use the ADSI Edit snap-in to clear the msExchMailboxGuid attribute of the AD user object that shouldn't use the GUID in question. Let this edit replicate to the domain controller (DC) that receives Exchange 5.5 directory updates from the ADC connection agreement (CA) for the problematic mailbox. Finally, update any property on the Exchange 5.5 directory object to force the ADC to replicate the object to AD again. The ADC will populate the msExchMailboxGuid value with the correct value from the Exchange 5.5 directory Mailbox Guid attribute.