
About the author
Hi, Iโm Edy Werder. I write hands-on guides about Proxmox, homelab servers, NAS, and WordPress, based on real setups I run and document.
No sponsors, no fluffโjust real configs and results.
Enjoying the content?
By Edy Werder โ IT Consultant & Tech Blogger
When the Exchange Server isn’t working as expected, admins need a quick and effective way to diagnose issues. This checklist provides PowerShell commands to verify Exchange Server health, troubleshoot mail flow, and identify potential problemsโfast.

Ensure all critical Exchange services are running:
Test-ServiceHealth✅ Expected: All required services should be Running.
Verify if essential Exchange components are active:
Get-ServerComponentState -Identity $env:COMPUTERNAME✅ Expected: Most components should be Active (except hybrid-only features like ForwardSyncDaemon
Send a test email to check internal mail routing:
Test-Mailflow✅ Expected: Success with reasonable latency.
Ensure mailbox databases are online and healthy:
Get-MailboxDatabase -Status | Select Name, Mounted, OnlineMaintenanceRunning✅ Expected: Mounted = True.
Identify stuck emails in transport queues:
Get-Queue✅ Expected: Low message count, no long-standing retries.
Force a retry if needed:
Delete problematic messages:
Get-Queue | Get-Message | Remove-Message -WithNDR $falseEnsure Exchange can resolve external domains:
Resolve-DnsName example.com✅ Expected: Successful resolution with valid MX records.
Check if Exchange can send emails to external servers:
Test-NetConnection -ComputerName example.com -Port 25✅ Expected: TCP connection succeeds.
Identify critical errors related to mail flow and databases:
Get-EventLog -LogName Application -EntryType Error -After (Get-Date).AddDays(-3) | Where-Object {$_.Source -match u0022MSExchangeu0022}✅ Expected: No recent critical errors.
Ensure web-based access is functional:
Test-OutlookWebServices | FL✅ Expected: All tests return Success.
Ensure Exchange certificates are valid:
Get-ExchangeCertificate | Select Thumbprint, FriendlyName, Subject, NotAfter✅ Expected: NotAfter Should be in the future.
This checklist provides a straightforward approach to diagnosing Exchange Server health issues. By running these PowerShell commands, admins can quickly pinpoint problems and take action to keep email services running smoothly.
I’d love to hear from you. Was this article helpful? Share your thoughts in the comments below. If you prefer, you can also reach me by email or connect with me on Reddit at Navigatetech.
If you’re running health checks on your Exchange Server with PowerShell, you might also need to put your server into maintenance mode for updates or troubleshooting. Understanding how to properly transition your server can prevent downtime and ensure a smooth process. Check out Exchange Server in Maintenance Mode for a step-by-step guide on preparing and restoring your server efficiently. This will help you avoid unexpected issues and keep your environment stable.
Hi, Iโm Edy Werder. I write hands-on guides about Proxmox, homelab servers, NAS, and WordPress, based on real setups I run and document.
No sponsors, no fluffโjust real configs and results.
Enjoying the content?