Listen to this Post
Litigation holds are essential for retaining deleted emails and original versions of modified items in Microsoft 365, particularly during legal investigations. However, manually placing holds via the M365 or Exchange admin center can be tedious, especially when dealing with multiple mailboxes.
To simplify this process, PowerShell scripts have been developed to automate bulk litigation hold actions. These scripts enable administrators to:
β
Place litigation hold on multiple mailboxes using a CSV
β
Assign holds to users who havenβt been enabled yet
β Target specific groups or departments
β Customize the hold duration
β Enable holds across all users
The scripts and detailed instructions are available here:
You Should Know: Essential PowerShell Commands for Litigation Hold
1. Enable Litigation Hold for a Single Mailbox
Set-Mailbox -Identity "[email protected]" -LitigationHoldEnabled $true -LitigationHoldDuration 2555
– `LitigationHoldDuration` is in days (2555 days = ~7 years).
2. Enable Litigation Hold in Bulk via CSV
First, create a CSV (users.csv
) with a column named Email
:
Email [email protected] [email protected]
Then run:
Import-Csv "C:\path\to\users.csv" | ForEach-Object { Set-Mailbox -Identity $_.Email -LitigationHoldEnabled $true }
3. Enable Hold for All Mailboxes
Get-Mailbox -ResultSize Unlimited | Set-Mailbox -LitigationHoldEnabled $true
4. Check Litigation Hold Status
Get-Mailbox -Identity "[email protected]" | FL LitigationHoldEnabled, LitigationHoldDuration
5. Disable Litigation Hold
Set-Mailbox -Identity "[email protected]" -LitigationHoldEnabled $false
6. Using Exchange Online PowerShell Module
First, connect to Exchange Online:
Connect-ExchangeOnline -UserPrincipalName [email protected]
Then run hold-related commands.
What Undercode Say
Automating litigation holds with PowerShell saves significant administrative effort, especially in large organizations. Key takeaways:
– Use `Set-Mailbox` for individual or bulk operations.
– CSV-based bulk operations streamline mass deployments.
– Always verify holds using Get-Mailbox
.
– For legal compliance, ensure proper hold durations.
Additional useful commands:
List all mailboxes on hold Get-Mailbox -Filter {LitigationHoldEnabled -eq $true} Set custom hold duration Set-Mailbox -Identity "[email protected]" -LitigationHoldDuration 3650 10 years Export list of users with hold enabled Get-Mailbox -Filter {LitigationHoldEnabled -eq $true} | Export-Csv "LitigationHoldUsers.csv"
Expected Output:
- Successfully enabled litigation holds for targeted mailboxes.
- CSV-based automation reduces manual errors.
- PowerShell provides flexibility for legal and compliance teams.
For more details, visit: https://lnkd.in/g32NWqRS
References:
Reported By: Pavithra Pavee – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass β