Exchange Online to Remove In-Place Hold and eDiscovery Tool

MVP

Microsoft announced the retirement of two legacy eDiscovery tools from Office 365. The first is V1 of Advanced eDiscovery; the second is Exchange Online in-place hold and search.Both tools will be removed from Office 365 in mid-2020. The big question is how Office 365 tenants who are currently using the old tools can move work in progress to the new tools. Stay tuned for more information!

 

https://office365itpros.com/2020/01/07/microsoft-retires-legacy-ediscovery-tools/

7 Replies

@Tony Redmond 

I'd be very interested as well as to what we are to do with the existing Holds we have in the old tools. We've been using them for holding ex-employee mailboxes. I did start in 2017 to put those holds in the new tools, but we have multi-100s of mailboxes that we must maintain going forward for legal/compliance purposes.

@Cary Siemers That's one of the questions I have with the Exchange product group.

@Cary Siemers Microsoft has updated their note about retiring legacy eDiscovery tools and the Search-Mailbox cmdlet. Some guidance is now available for how to use PowerShell to move old Exchange Online in-place holds to holds in Office 365 eDiscovery cases. See the updated text at https://office365itpros.com/2020/01/08/posting-microsoft-365-roadmap-items-teams/ for more information.

@Tony Redmond 

Cool and thanks! I'll take a look.

@Tony Redmond 

Got to Step 5 and got "Only mailboxes are supported. The recipient name@contoso.com is of type MailContact" error and I can't proceed. 

When I look at the values in $search.SourceMailboxes they are all mailboxes and the MailContact in the error response isn't there.

 

Looks like Microsoft still need to work on this.

@Cary Siemers You expected the PowerShell to work without some massaging?

 

Try:

1. Create the policy:

$policy = New-CaseHoldPolicy -Name $search.Name -Case $case.Identity

 

2. Add the mailboxes from the old EXO search:

foreach ($mbx in $Search.SourceMailboxes) {
Set-CaseHoldPolicy -Identity $Policy.Name -AddExchangeLocation (Get-Mailbox -Identity $Mbx).PrimarySmtpAddress }

 

3. Check that all the mailboxes are present:

get-caseholdpolicy -Identity $Policy.Name | Ft ExchangeLocation

 

I also found that the code didn't deal with inactive mailboxes too well.

 

BTW, the PowerShell cmdlets to deal with Office 365 eDiscovery cases is covered in Chapter 20 of the Office 365 for IT Pros eBook.