๐ง Recipe ยท Exchange & Email
Disable Retention/Litigation Hold on an Exchange Online Mailbox
Release a mailbox from Litigation Hold, In-Place Hold, or retention hold using Exchange Online PowerShell or the Microsoft Purview portal
Complexity
Intermediate
Impact
compliance-risk + legal-hold + exchange-online + mailbox-configuration + requires-legal-approval
Context
Why This Matters
When to disable a retention hold
Exchange Online supports several overlapping hold mechanisms that preserve mailbox content beyond normal retention and deletion policies:
- Litigation Hold โ a mailbox-level switch (
LitigationHoldEnabled) that preserves all mailbox items indefinitely or for a set duration. - In-Place Hold โ a legacy query-based hold (being retired) configured in the Exchange admin center.
- Retention Hold โ a pause on Messaging Records Management (MRM) retention policy processing (
RetentionHoldEnabled), commonly used when a user is on extended leave. - Microsoft Purview retention policies / eDiscovery holds โ tenant-level or case-level holds applied through the Purview compliance portal.
Admins typically disable a hold when a legal matter closes, an employee returns from leave, a mailbox is being decommissioned, or a hold was applied in error. Because each hold type is controlled through a different surface, you must identify which hold is active before removing it.
Important: this is not a Microsoft Graph task
As of today, Microsoft Graph does not expose LitigationHoldEnabled, RetentionHoldEnabled, or In-Place Hold properties on the user or mailbox resource. All of these operations require Exchange Online PowerShell (Set-Mailbox) or the Microsoft Purview compliance portal. Any recipe that claims to toggle these via Graph is inaccurate.
Expected Outcomes
What you will have when you finish
- Confirmation of which hold types were active on the target mailbox (Litigation, In-Place, Retention, or Purview).
- The selected hold(s) disabled, with before/after values captured for the audit trail.
- A documented record of who requested removal, the legal/business justification, and the date of change.
- Optional verification that MRM retention policies have resumed processing (for retention holds) or that preservation has stopped (for Litigation Hold).
Risks & Considerations
Warnings and compliance considerations
- Legal exposure. Never disable a Litigation Hold or eDiscovery hold without written authorization from Legal or Compliance. Removing a hold while a matter is active can result in spoliation of evidence.
- Delays in effect. Changes to
LitigationHoldEnabledcan take up to 60 minutes to apply. Plan verification accordingly. - Purview vs. mailbox holds. A mailbox can still be held by a Purview retention policy or eDiscovery case even after
LitigationHoldEnabledis set to$false. Always check for delegated holds viaGet-Mailbox | Select-Object -ExpandProperty InPlaceHolds. - Retention hold โ Litigation Hold.
RetentionHoldEnabledonly pauses MRM policy processing; it does not preserve content. Do not confuse the two when responding to legal requests. - Inactive mailboxes. Removing all holds from a soft-deleted / inactive mailbox can make it eligible for permanent purge. Confirm the mailbox status first.
Required Permissions
| Permission | Why It's Needed |
|---|---|
| Exchange Administrator or Organization Management role | Required to run Set-Mailbox against mailboxes and modify hold properties |
| Compliance Administrator or eDiscovery Manager role | Required to release Purview retention policies or eDiscovery case holds |
| Exchange Online PowerShell module (ExchangeOnlineManagement) installed | All hold operations are performed through EXO cmdlets, not Graph |
| Documented authorization from Legal/Compliance | Required before releasing any litigation or eDiscovery hold to avoid spoliation risk |
The fastest way to get this done: just ask Dex. Copy the prompt below and paste it into your Dex conversation.
For IT Admins
Paste into Dex Pro
Option A โ Disable Litigation Hold via the Exchange admin center
- Sign in to the Exchange admin center as an Exchange Administrator.
- Navigate to .
- Search for and select the target mailbox (e.g.
{user_upn}). - In the flyout, select .
- Clear the Turn on litigation hold checkbox.
- Click Save. Note that propagation can take up to 60 minutes.
Option B โ Disable a Microsoft Purview retention policy hold
- Sign in to the Microsoft Purview portal as a Compliance Administrator.
- Go to (or for case holds).
- Locate the policy or case applying a hold to the mailbox.
- Either remove the mailbox from the policy's scope, or disable/delete the policy if it is no longer needed.
- For eDiscovery holds: open the case, go to Holds, edit the hold, and either remove the mailbox or turn the hold off.
Option C โ Disable MRM retention hold (user on leave scenario)
Retention hold (pausing MRM policy processing) has no GUI toggle in the modern admin centers and must be changed via PowerShell โ see the PowerShell section below.
Not supported via Microsoft Graph
Microsoft Graph does not expose mailbox hold properties. LitigationHoldEnabled, RetentionHoldEnabled, InPlaceHolds, and Purview retention scopes are all managed through Exchange Online PowerShell or the Purview portal.
If you are building automation, the supported paths are:
- Exchange Online PowerShell โ
Set-Mailbox -LitigationHoldEnabled $false/-RetentionHoldEnabled $false(see the PowerShell section). - Security & Compliance PowerShell โ
Set-RetentionCompliancePolicyandSet-CaseHoldPolicyfor Purview holds.
You can use Graph to look up the target user's id, userPrincipalName, and mail attributes before handing off to the EXO cmdlets:
GET https://graph.microsoft.com/v1.0/users/{user_upn}?$select=id,displayName,userPrincipalName,mail,accountEnabledBut the actual hold-removal call must be made through PowerShell. Use the Manual or PowerShell approach instead.
Disable holds via Exchange Online PowerShell
1. Connect to Exchange Online
# Install once if needed
Install-Module ExchangeOnlineManagement -Scope CurrentUser
Connect-ExchangeOnline -UserPrincipalName admin@contoso.com2. Inspect current hold state
Get-Mailbox -Identity {user_upn} |
Select-Object DisplayName, UserPrincipalName,
LitigationHoldEnabled, LitigationHoldDuration, LitigationHoldOwner,
RetentionHoldEnabled, StartDateForRetentionHold, EndDateForRetentionHold,
InPlaceHolds, ComplianceTagHoldAppliedReview the output carefully. If InPlaceHolds contains GUIDs, the mailbox is covered by a Purview retention policy or eDiscovery hold that must be released in the Purview portal โ not via Set-Mailbox.
3a. Disable Litigation Hold
Set-Mailbox -Identity {user_upn} -LitigationHoldEnabled $false3b. Disable MRM retention hold
Set-Mailbox -Identity {user_upn} -RetentionHoldEnabled $false4. Verify (allow up to 60 minutes for propagation)
Get-Mailbox -Identity {user_upn} |
Select-Object LitigationHoldEnabled, RetentionHoldEnabled, InPlaceHolds5. Disconnect
Disconnect-ExchangeOnline -Confirm:$falseNext steps