Skip to main content

Compliance helpers

Requires an EXO session with Purview Compliance PowerShell availability (Connect-IPPSSession). For full and always-up-to-date details, use Get-Help <FunctionName> -Detailed.

Search-MboxCutoffWindow

Create/reuse a Purview Compliance Search to isolate mailbox items by date criteria (estimate + optional preview sample).

Syntax

Search-MboxCutoffWindow -Mailbox <String> [-Mode <String>] [-CutoffDate <DateTime>] [-ExistingSearchName <String>] [-UseExistingOnly] [-Preview] [-PreviewCount <Int32>] [-PollingSeconds <Int32>] [-MaxWaitMinutes <Int32>]
Search-MboxCutoffWindow -Mailbox <String> -Mode Range -StartDate <DateTime> -EndDate <DateTime> [-ExistingSearchName <String>] [-UseExistingOnly] [-Preview] [-PreviewCount <Int32>] [-PollingSeconds <Int32>] [-MaxWaitMinutes <Int32>]
ParameterTypeDescriptionRequiredDefault
Mailbox (Identity, UserPrincipalName, SourceMailbox)StringTarget mailbox. Pipeline accepted.Yes-
ModeStringBeforeCutoff (default) or Range.NoBeforeCutoff
CutoffDateDateTimeCutoff date used when Mode BeforeCutoff.No2025-01-01
StartDateDateTimeRange start date (used with Mode Range).Yes (Range)-
EndDateDateTimeRange end date, exclusive (used with Mode Range).Yes (Range)-
ExistingSearchNameStringReuse an existing Purview Compliance Search name.No-
UseExistingOnlySwitchDo not create/modify search definition; run estimate/preview on existing search only.NoFalse
PreviewSwitchCreate a Purview Preview action and return sampled lines.NoFalse
PreviewCountInt32Max preview sample lines to return.No50
PollingSecondsInt32Poll interval while waiting for completion.No10
MaxWaitMinutesInt32Maximum wait time before timeout.No60

Examples

Search-MboxCutoffWindow -Mailbox 'user@contoso.com' -Mode BeforeCutoff -CutoffDate '2025-01-01'
Search-MboxCutoffWindow -Mailbox 'user@contoso.com' -Mode Range -StartDate '2025-01-01' -EndDate '2025-02-01' -Preview -PreviewCount 25
Search-MboxCutoffWindow -Mailbox 'user@contoso.com' -ExistingSearchName 'Isolate_Pre_20250101_140530' -UseExistingOnly

Set-MboxMrmCleanup

Apply a one-shot MRM cleanup policy/tag to a mailbox (optional Managed Folder Assistant trigger).

Syntax

Set-MboxMrmCleanup -Mailbox <String> [-FixedCutoffDate <DateTime>] [-SafetyBufferDays <Int32>] [-RetentionAction <String>] [-TagName <String>] [-PolicyName <String>] [-RunAssistant]
ParameterTypeDescriptionRequiredDefault
Mailbox (Identity, UserPrincipalName, SourceMailbox)StringTarget mailbox. Pipeline accepted.Yes-
FixedCutoffDateDateTimeFixed date used to compute AgeLimitForRetention days.No2025-01-01
SafetyBufferDaysInt32Additional days added as safety buffer.No7
RetentionActionStringDeleteAndAllowRecovery (default) or PermanentlyDelete.NoDeleteAndAllowRecovery
TagNameStringRetention policy tag name (auto-generated if omitted).No-
PolicyNameStringRetention policy name (auto-generated if omitted).No-
RunAssistantSwitchTrigger Managed Folder Assistant (Start-ManagedFolderAssistant -FullCrawl) after assignment.NoFalse

Examples

Set-MboxMrmCleanup -Mailbox 'user@contoso.com' -FixedCutoffDate '2025-01-01' -SafetyBufferDays 7
Set-MboxMrmCleanup -Mailbox 'user@contoso.com' -RetentionAction PermanentlyDelete -RunAssistant -WhatIf