Earlier this week Exchange team had a new blog post about some of their favorite PowerShell Scripts for Exchange and Office 365 Admins. While they have a few good suggestions, there are a few more that I’ve found most helpful when working with Exchange.
Generate Health Report for an Exchange Server 2016/2013/2010 Environment
This script is one of my personal favorites and I’ve used it for years in several environments. It does an amazing job of scanning your Exchange organization and reporting back with an easy for follow color coded HTML page that you can have emailed to you. I’ve used this as a daily health check of the environment before the workday begins, and also as a snapshot of the current system health by running it in a scheduled task and having the report outputted to a static HTML page, which can be displayed in a public monitoring space.
Exchange Server Performance Health Checker Script
The Health Checker script was created by a Microsoft employee as what I can only assume was a large amount of support calls about server performance that was tied to improper system configuration. So this script is ran against your Exchange servers and verifies that your system is configured to match the Exchange 2013 Sizing and Configuration Recommendations along with several patches and recommendations that have come later. Below is a list of a few of the items it verifies.
- OS Version
- Page File Size
- Server Role
- Power Settings
- Checking if Hyper Threading is enabled
- .Net version
I’ve found this script to be particularly helpful before bringing new or rebuilt servers into production as well as to verify that no .Net updates have not sneaked onto the server or that a new critical update isn’t missed. This script is growing and always being updated so be sure to check for updates before running.
If you know of any additional scripts that have been helpful to you as an Exchange administrator, please post them in a comment.