Commands › Exchange Online

New-HoldCompliancePolicy

Exchange Online ExchangeOnlineManagement New-*

For more information, see Security & Compliance PowerShell. Use the New-HoldCompliancePolicy cmdlet to create new preservation policies in the Microsoft Purview compliance portal. **Note**: The New-HoldCompliancePolicy cmdlet is replaced by the New-RetentionCompliancePolicy cmdlet. If you have scripts that use New-HoldCompliancePolicy, update them to use New-RetentionCompliancePolicy.

Quick start script

# New-HoldCompliancePolicy — 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-HoldCompliancePolicy
$before | Format-List

# 3. Make the change (dry run first)
New-HoldCompliancePolicy -Name <String> -WhatIf
New-HoldCompliancePolicy -Name <String>

# 4. Verify and diff
$after = Get-HoldCompliancePolicy
Compare-Object ($before | Out-String) ($after | Out-String)

Syntax

New-HoldCompliancePolicy [-Name] <String>
 [-Comment <String>]
 [-Confirm]
 [-Enabled <Boolean>]
 [-ExchangeLocation <MultiValuedProperty>]
 [-Force]
 [-PublicFolderLocation <MultiValuedProperty>]
 [-SharePointLocation <MultiValuedProperty>]
 [-WhatIf]
 [<CommonParameters>]

Parameters (9)

ParameterTypeRequiredWhat it controls
-Name String yes The Name parameter specifies the unique name of the preservation policy. If the value contains spaces, enclose the value in quotation marks.
-Comment String The Comment parameter specifies an optional comment. If you specify a value that contains spaces, enclose the value in quotation marks ("), for example: "This is an admin note".
-Confirm SwitchParameter The Confirm switch specifies whether to show or hide the confirmation prompt. How this switch affects the cmdlet depends on whether the cmdlet requires confirmation before proceeding.
-Enabled Boolean The Enabled parameter specifies whether the policy is enabled or disabled. Valid values are:
-ExchangeLocation MultiValuedProperty The ExchangeLocation parameter specifies the mailboxes to include in the policy. Valid values are:
-Force SwitchParameter The Force switch hides warning or confirmation messages. You don't need to specify a value with this switch.
-PublicFolderLocation MultiValuedProperty The PublicFolderLocation parameter specifies that you want to include all public folders in the preservation policy. You use the value All for this parameter.
-SharePointLocation MultiValuedProperty The SharePointLocation parameter specifies the SharePoint sites to include. You identify the site by its URL value, or you can use the value All to include all sites.
-WhatIf SwitchParameter The WhatIf switch doesn't work in Security & Compliance PowerShell.

Reference facts derived from Microsoft documentation, © Microsoft, licensed CC BY 4.0; restructured with original guidance by serv365.ai.