Become a Columnist Microsoft Exchange Site Microsoft Support SiteMSDN Exchange Site

   

Subscribe to OutlookExchange
Anderson Patricio
Ann Mc Donough
Bob Spurzem
Brian Veal
Catherine Creary
Cherry Beado
Colin Janssen
Collins Timothy Mutesaria
Drew Nicholson
Fred Volking
Glen Scales
Goran Husman
Guy Thomas
Henrik Walther
Jason Sherry
Jayme Bowers
John Young
Joyce Tang
Justin Braun
Konstantin Zheludev
Kristina Waters
Kuang Zhang
Mahmoud Magdy
Martin Tuip
Michael Dong
Michele Deo
Mitch Tulloch
Nicolas Blank
Pavel Nagaev
Ragnar Harper
Ricardo Silva
Richard Wakeman
Russ Iuliano
Santhosh Hanumanthappa
Steve Bryant
Steve Craig
Todd Walker
Tracey J. Rosenblath
 
   
Reducing Exchange Downtime with ExMerge

Page 1 | Page 2 | Page 3 | Page 4 | Page 5

Reference Information

Supporting functions and subs

For more details on this function see my other article, Searching the AD.

Function FindObjectPath (SearchField,SearchFieldValue,SearchDomainDN)
  Dim oConnection, oCommand, oResults
  FindObjectPath = ""
  Set oConnection = CreateObject("ADODB.Connection")
  Set oCommand = CreateObject("ADODB.Command")
  oConnection.Provider = "ADsDSOObject"
  oConnection.Open "Active Directory Provider"
  Set oCommand.ActiveConnection = oConnection
  SearchField = Trim(SearchField)
  SearchFieldValue = Trim(SearchFieldValue)
  sQuery = "SELECT ADsPath FROM 'LDAP://" & SearchDomainDN & "' WHERE " & _
    SearchField & " = '" & SearchFieldValue & "'"
  oCommand.CommandText = sQuery
  Set oResults = oCommand.Execute
  On Error Resume Next
  FindObjectPath = oResults.Fields("ADsPath")
  On Error GoTo 0
  If FindObjectPath <> "" Then

    ' Removed LDAP:// from path so it can be replaced with a bind to a specific DC later

    FindObjectPath = Replace (FindObjectPath,"LDAP://","")
  End If
End Function

Additional Information

Requirements to run ExMerge

1)    Account running ExMerge must have full rights to all mailboxes being migrated
A)   This includes Send As and Receive As rights in the AD on Exchange 2000 mailboxes

2)    Target mailbox must already exist

3)    Source and target mailbox\user account must be enabled

4)    Both mailboxes must be visible in the GAL

Common errors and solutions when running ExMerge

The following error messages come from the ExMerge log files

1)    "Error opening message store (MSEMS). Verify that the Microsoft Exchange Information Store service is running and that you have the correct permissions to log on. (0x8004011d)"

Below are some possible solutions to this error message:
A)   Make sure both the source and target accounts are enabled
If you just enabled the accounts you will need to wait for the changes to be replicated to all DCs

B)   Make sure the permissions are set so the account doing the migration has Send As and Receive As on all mailboxes being migrated in the source and target Exchange Orgs
i)           Add the account doing the migration to the "Exchange Domain Servers" group

ii)        Open up Exchange System Manager and navigate to the server the mailboxes are being migrated to and choose Properties

iii)      Click on the Security tab and click Add

iv)       Select the account you will be using to migrate the mailboxes and click OK
If the account that is being used is already listed make sure the all of the permissions are set to Allow.  If Deny is inherited you can still check Allow, which will override the inherited Deny.

v)         Click OK again to save the permissions

vi)       Right click on the root of the tree, the Org name, and select "Delete Control"

vii)    Add the accounts that will be used to migrate mailboxes as "Exchange Full Administrators"

viii)  Restart the "IIS Admin Service"  on both servers

This will stop all services on the system, this should be done after hours only

?         Q259221 - Security Tab Not Available on All Objects in System Manager
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q259221

?         Q262054 - Get Service Account Access to All Mailboxes in Exchange 2000

C)   Check the "msExchUserAccountControl" property of the mailbox giving the error in the target domain
1)    Set the value to "0" (zero) if it is not already 0

2)     "CADRoutines::GetNamingContextData"
This is normally caused by the mailbox, source or target, being hidden from the GAL

A)   Check to make sure the migration account has Send As and Receive As on the mailbox
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q323546

B)   Make sure the user you are trying to migrate is visible in the address book

C)   Check the "showInAddressBook" attribute of the user in ADSIEdit, it should have some values.  If it does not run a manual Recipient Update Service rebuild and wait for the updates to be replicated

3)    "Error creating EntryID" & "Invalid target DN. Unable to merge data into mailbox"
This is normally caused by a non-existing target mailbox or where the source and target do not have a matching alias

A)   Check to make sure the user exist in the target domain

B)   Make sure the user is mailbox enabled

C)   Make sure the source, Exchange 5.5, directory name and target E2K alias are the same

1)    If not do the two step migration process with ExMerge, after step 1 rename the PST file to be the same as the users alias name in the target domain
Or you can carry out the steps in 4) "Error extracting information from server DN '' (CMapiSession::GetInfoFromProfile)?"

4)    "Error extracting information from server DN '' (CMapiSession::GetInfoFromProfile)"
This is normally comes up when the source and target mailbox's alias don't match, normally because the target mailboxLegacyExchangeDN field has been appended by a number.

A)   Using ADSI Edit view the target account's LegacyExchangeDN field

B)   Compare this with the value in the input MAILBOXES.TXT file for this account
Chances are that the LegacyExchangeDN name in the target domain has a number after to it, indicating that this LegacyExchangeDN is already used be another user

C)   Update the original MAILBOXES.TXT with the correct target LegacyExchangeDN

5)    "CAdminProfileRoutines::CreateSystemAttendantProfile"

A)   Can be ignored, the System Attendant mailbox is not migrated over

 

Reducing Exchange Downtime with ExMerge

Page 1 | Page 2 | Page 3 | Page 4 | Page 5


Disclaimer: Your use of the information contained in these pages is at your sole risk. All information on these pages is provided "as is", without any warranty, whether express or implied, of its accuracy, completeness, fitness for a particular purpose, title or non-infringement, and none of the third-party products or information mentioned in the work are authored, recommended, supported or guaranteed by Stephen Bryant or Pro Exchange. OutlookExchange.Com, Stephen Bryant and Pro Exchange shall not be liable for any damages you may sustain by using this information, whether direct, indirect, special, incidental or consequential, even if it has been advised of the possibility of such damages.

Copyright Stephen Bryant 2008