Daily Maintenance & Health Check
1. Install AD Replication Tool
Check domain replication status with Microsoft Active Directory Replication Status Tool:
2. Check Exchange Services
Test-ServiceHealth
3. Check Mailbox Database Replication
Get-MailboxDatabase | Sort Name | Get-MailboxDatabaseCopyStatus | Format-Table -AutoSize
4. Check Event Viewer
Open Event Viewer and check for Exchange Server warnings and errors in:
- Application logs
- System logs
5. Test Outlook Connectivity
Test-OutlookConnectivity -RunFromServerId <server-name> -ProbeIdentity OutlookMapiHttpSelfTestProbe
6. Microsoft Remote Connectivity Analyzer
Use Microsoft's web-based tool to test Exchange internet connectivity:
7. Test MAPI Connectivity
Troubleshoot connectivity problems between users and servers:
# Test specific mailbox
Get-Mailbox <mailbox-name> | Test-MapiConnectivity
# Test all mailboxes in a database
Get-MailboxDatabase <db-name> | Test-MapiConnectivity
# Test all mailboxes on a server
Get-MailboxServer <server-name> | Test-MapiConnectivity
8. Check Last Backup Time
Get-ExchangeServer | Get-MailboxDatabase -Status | Format-Table Name, *Back*
9. Check Database Status
# Exchange Server status
Get-ExchangeServer -Status | Format-List
# Mailbox Database status
Get-MailboxDatabase -Server <server-name> -Status | Format-List
10. Check Database Sizes
List mailbox database sizes from largest to smallest:
Get-MailboxDatabase | ForEach-Object {
Add-Member -InputObject $_ -MemberType NoteProperty `
-Name MailboxDBSizeInGB `
-Value ([math]::Round(([int64](Get-WmiObject cim_datafile `
-ComputerName $_.server `
-Filter ('name=''' + $_.edbfilepath.pathname.replace("\","\\") + '''')).filesize / 1GB),2)) `
-PassThru
} | Sort-Object MailboxDBSizeInGB -Descending | Format-Table Identity, MailboxDBSizeInGB
11. Check Content Index Status
Get-MailboxDatabase | Sort Name | Get-MailboxDatabaseCopyStatus | Format-Table -AutoSize
Update catalog if needed:
Update-MailboxDatabaseCopy "<database>\<server>" -CatalogOnly