Commands › Exchange Online
New-ComplianceSearch
Create compliance searches in Exchange Server 2016 or later and in the Microsoft Purview compliance portal. You use this cmdlet to define the search criteria. > [!NOTE] > In the cloud, this cmdlet has the following requirements: > - Version 3.9.0 or later of the Exchange Online PowerShell module (August 2025). > - Use the *EnableSearchOnlySession* parameter when you run the **Connect-IPPSSession** command to connect to Security & Compliance PowerShell.
Quick start script
# New-ComplianceSearch — quick start (serv365.ai)
# 1. Connect (app-only shown; interactive: omit the certificate parameters)
Connect-ExchangeOnline -CertificateThumbprint $thumb -AppId $appId -Organization $org
# 2. Capture the current state first — you cannot roll back what you never recorded
$before = Get-ComplianceSearch
$before | Format-List
# 3. Make the change (dry run first)
New-ComplianceSearch -Name <String> -WhatIf
New-ComplianceSearch -Name <String>
# 4. Verify and diff
$after = Get-ComplianceSearch
Compare-Object ($before | Out-String) ($after | Out-String)
Syntax
New-ComplianceSearch [-Name] <String>
[-AllowNotFoundExchangeLocationsEnabled <Boolean>]
[-Case <String>]
[-Confirm]
[-ContentMatchQuery <String>]
[-Description <String>]
[-ExchangeLocation <String[]>]
[-ExchangeLocationExclusion <String[]>]
[-Force]
[-HoldNames <String[]>]
[-IncludeOrgContent <Boolean>]
[-IncludeUserAppContent <Boolean>]
[-Language <CultureInfo>]
[-LogLevel <ComplianceJobLogLevel>]
[-PublicFolderLocation <String[]>]
[-RefinerNames <String[]>]
[-SharePointLocation <String[]>]
[-SharePointLocationExclusion <String[]>]
[-StatusMailRecipients <String[]>]
[-WhatIf]
[<CommonParameters>]
Parameters (20)
Reference facts derived from Microsoft documentation, © Microsoft, licensed CC BY 4.0; restructured with original guidance by serv365.ai.