Solved Mailbox Migration Issues (EXCH 2016) On-Prem
-
So one of our on-prem 2016 Exchange Servers (VM) was hit by NLBrute pre-Network Firewall installation (early 2020), and we only recently were affected by it/noticed it when trying to upgrade to CU20. After cleaning the infection, and scanning the mailbox databases for infection, I migrated all mailbox databases to the other on-prem Exchange Server (VM) and nuked the old server.
My issue now is I can't migrate back. Mailbox Migration is failing saying that there is a UserAlreadyBeingMigratedException.
I've checked and clearedRemove-MigrationBatch "Batch Name" -Force
and refreshed ECP to verify as well asGet-MigrationBatch -Endpoint mail.contoso.com
. There doesn't appear to be residuals.Some additional details:
Exchange logs (Program Files>Microsoft>Exchange Server>V15>Mailbox>Mailbox Database XXXXXX>) Appear to be nonsense. Just random webdings looking stuff. I assume aftermath of NLBrute or something is corrupted.
I tried to use eseutil to repair because of this, but it unmounts the database and then throws error 1811 and it's impossible to mount again.
I eventually restored from snapshot, and am looking at trying again with another approach.
Since 99.9% of our staff are using Outlook software, and have cached local .ost's, I'm thinking it would just be best to backup a copy of their .ost's to the NAS, and erase everyone's mailboxes from the server, make new ones, and restore the ost.
Any better ideas?
-
@mr-jones What do you get on this command on the Exchange Powershell?
Get-MoveRequest
-
Display Name: All users
Status: Completed
Target Database: The Server I'm trying to migrate away from (that I previously migrated to) -
@mr-jones Remove the Move request.
-
@dbeato using
Get-MoveRequest -movestatus completed | remove-moverequest
Results:
Move request "mailbox" is corrupted or not recognized: source database for the request doesn't match. Active Directory value: '(null)'. Request value: "EXCH2016".. Are you sure you want to remove it? It's asking for every one of them.I think this is where I got into trying to use eseutil last time which made things worse.
-
@mr-jones Yes, you can do this
Get-MoveRequest -MoveStatus Completed | Remove-MoveRequest
-
@mr-jones said in Mailbox Migration Issues (EXCH 2016) On-Prem:
@dbeato using
Get-MoveRequest -movestatus completed | remove-moverequest
Results:
Move request "mailbox" is corrupted or not recognized: source database for the request doesn't match. Active Directory value: '(null)'. Request value: "EXCH2016".. Are you sure you want to remove it? It's asking for every one of them.I think this is where I got into trying to use eseutil last time which made things worse.
I would answer yes every time or pipe it with -Confirm at then end.
-
@dbeato Like this
Get-MoveRequest -MoveStatus Completed | Remove-MoveRequest -Confirm
-
@dbeato - thank you!
So class, today we learned that a Move Request and a Migration are two separate functions. ::facepalm::
-
@mr-jones Microsoft Exchange has its intricacies but once you learn it is okay