Exchange Mailbox Databases
Exchange 2010 SP3
Database copy info
Get-MailboxDatabaseCopyStatus -Identity "DB*"
Get-MailboxDatabaseCopyStatus -Identity "DB 2"
Get-MailboxDatabase 'DB*'| fl server, databaseCopies, activationPreference
Get-MailboxDatabase 'DB*'| fl name, activationPreference
Get-MailboxDatabaseCopyStatus -Server srv01 | Sort-Object -Property Status| ft mailboxserver,DatabaseName, status,Copyqueuelength,Replayqueuelength, ContentIndexState, ActiveCopy,ErrorMessage -AutoSize
Get-MailboxDatabaseCopyStatus "*" | Sort-Object -Property Status| ft mailboxserver,DatabaseName, status,Copyqueuelength,Replayqueuelength, ContentIndexState, ActiveCopy,ErrorMessage -AutoSize
Database info
Get-MailboxDatabase -Status | Select ServerName,Name,DatabaseSize | fl
Get-Mailbox | Group-Object -Property:Database | Select-Object name, count
Queue
Get-TransportServer | Get-Queue | ft -auto
Some sorting
Get-MailboxDatabase "DB 1" | Get-MailboxStatistics | Sort totalitemsize -desc | ft displayname, totalitemsize, itemcount
Get-MailboxDatabase "DB 2" | Get-MailboxStatistics | sort lastlogontime -descending| ft Displayname,last*
Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Select DisplayName,StorageLimitStatus,@{name="TotalItemSize (MB)";expression={[math]::Round((($_.TotalItemSize.Value.ToString()).Split("(")[1].Split(" ")[0].Replace(",","")/1MB),2)}},@{name="TotalDeletedItemSize (MB)";expression={[math]::Round((($_.TotalDeletedItemSize.Value.ToString()).Split("(")[1].Split(" ")[0].Replace(",","")/1MB),2)}},ItemCount,DeletedItemCount | Sort "TotalItemSize (MB)" -Descending | Export-CSV "C:\Users\admin\Mailboxes.csv" -NoTypeInformation
Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Select DisplayName,StorageLimitStatus,@{name="TotalItemSize (MB)";expression={[math]::Round((($_.TotalItemSize.Value.ToString()).Split("(")[1].Split(" ")[0].Replace(",","")/1MB),2)}},@{name="TotalDeletedItemSize (MB)";expression={[math]::Round((($_.TotalDeletedItemSize.Value.ToString()).Split("(")[1].Split(" ")[0].Replace(",","")/1MB),2)}},ItemCount,DeletedItemCount | Sort "TotalItemSize (MB)" -Descending | ft -auto
Move the active copy
Move-ActiveMailboxDatabase "DB 3" -ActivateOnServer server1 -MountDialOverride:None
Activation Preference
Set-MailboxDatabaseCopy -identity 'DB 1\server1' -ActivationPreference 1
Failed database
Suspend-MailboxDatabaseCopy -Identity "DB 1\server1"
Update-MailboxDatabaseCopy -Identity "DB 1\server1" -SourceServer server2 -DeleteExistingFiles
Get-MailboxDatabaseCopyStatus | fl name, contentindexstate
Update-MailboxDatabaseCopy -Identity "DB 3\server3" -SourceServer server2 -CatalogOnly
Backup status
Get-MailboxDatabase -Identity "DB 1" -Status | fl *backup*
To suspend a database copy
Suspend-MailboxDatabaseCopy -Identity "DB 1\server1" -ActivationOnly
Resume-MailboxDatabaseCopy -Identity "DB 1\server1"
Get-MailboxDatabaseCopyStatus "DB*" | ft servername,name,ActivationSuspended
Get the number of mailboxes per database
(get-mailboxdatabase) | foreach-object {write-host $_.name (get-mailbox -database $_.name).count}
Get-MailboxDatabase -Status | select ServerName,Name,DatabaseSize
To find the mailboxes with the highest number of items in a databse
Get-Mailbox -database "DB 2" | Get-MailboxStatistics | Sort-Object ItemCount -descending |Select-Object DisplayName,ItemCount,@{name="MailboxSize";exp={$_.totalitemsize}} -first 10 | Convertto-Html | out-File c:\Users\user1\Desktop\mbx.htm
and for a server:
Get-Mailbox -Server "server1" | Get-MailboxStatistics | Sort-Object TotalItemSize -Descending | Select-Object DisplayName,@{Label="Size(Gb)"; Expression={$_.TotalItemSize.Value.ToGb()}} -First 10 | ft -auto
Exclude specific database for automatic provisioning
Set-MailboxDatabase -Identity "DB 4" -IsExcludedFromProvisioning $true
To re-enable the mailbox database for automatic provisioning set the value back to $false
Set-MailboxDatabase -Identity "Mailbox Database 04" -IsExcludedFromProvisioning $false
To remove database copies
Remove-MailboxDatabaseCopy -Identity "DB 1\server1"
Remove-MailboxDatabaseCopy -Identity "DB 2\server2"