Commands › Exchange Online

Clean-MailboxDatabase

Exchange Online ExchangeOnlineManagement Clean-*

Scan Active Directory for disconnected mailboxes that aren't yet marked as disconnected in the Microsoft Exchange store and update the status of those mailboxes in the Exchange store. This cmdlet isn't able to update the Exchange store unless the Microsoft Exchange Information Store service is running and the database is mounted.

Quick start script

# Clean-MailboxDatabase — quick start (serv365.ai)
# 1. Connect (app-only shown; interactive: omit the certificate parameters)
Connect-ExchangeOnline -CertificateThumbprint $thumb -AppId $appId -Organization $org

# 2. Run and inspect
Clean-MailboxDatabase -Identity <DatabaseIdParameter> | Format-List

# 3. Export for evidence / drift tracking
Clean-MailboxDatabase | Export-Clixml .\MailboxDatabase-$(Get-Date -Format yyyyMMdd).xml

Syntax

Clean-MailboxDatabase [-Identity] <DatabaseIdParameter>
 [-Confirm]
 [-DomainController <Fqdn>]
 [-WhatIf]
 [<CommonParameters>]

Parameters (4)

ParameterTypeRequiredWhat it controls
-Identity DatabaseIdParameter yes The Identity parameter specifies the mailbox database that you want to update. You can use any value that uniquely identifies the database. For example:
-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.
-DomainController Fqdn The DomainController parameter specifies the domain controller that's used by this cmdlet to read data from or write data to Active Directory. You identify the domain controller by its fully qualified domain name...
-WhatIf SwitchParameter The WhatIf switch shows what the command does without making any changes. You don't need to specify a value with this switch.

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