Monday, August 8, 2016

Exchange health scripts

When I got promoted into a leadership role years ago one of the first things I knew I need to give up was Exchange Administration.  There was no way I could effectively complete my new responsibilities and manage the health of Exchange long term.  So I hire a guy, he ended up being the most talented “mail guy” I have worked with.  This enabled me to walk away from exchange and sleep through the night.  Fast forward 4 years and I start a new job.  Not sure what type of talent I had, I knew I needed to monitor things from a distance and my confidence build for my new team.  I started with Exchange, things changed a lot from 2007 to 2013.  So I hit the inter-webbles and in doing so I found some Exchange commands that helped me out.  I thought I would share.

The first one I use was:

Get-MailboxDatabaseCopyStatus -Server “Your Mail Server” | Sort-Object name | Format-Table –AutoSize

This allowed me to see all of my mail DBs on one page and their health status.

The second one was:

Get-Queue -Server “Your Mail Server”

This script allows you to see the queues and their associated message counts.  I also figured out if you run this command for each of your mail servers you will see all of your queues across all of you servers in the same table.

Example:
Get-Queue -Server "Your Mail Server 1"; Get-Queue -Server “Your Mail Server 2”; Get-Queue -Server “Your Mail Server 3”

The third was:

Test-ReplicationHealth -Identity “Your Mail Server”

It checks for all necessary services, listeners, and processes needed to successfully replicate you mail DBs to other DAG members.
The last script is:

Test-ServiceHealth -Server “Your Mail Server”

This just verifies all the required services are running.


All 4 of these helped me understand how healthy my new mail setup was and how responsive my new staff was also.

No comments:

Post a Comment