I’m please to announce the availability of v1.06 of the Test-ExchangeServerHealth.ps1 script.

The two most significant updates in version 1.06:

  • Fixed an uptime calculation bug for some regional settings.
  • Added localization strings to fix service health check errors for non-English systems.

The fixes for both of those issues have been a long time coming and I appreciate everyone who helped me fix them by providing me with extra details about their servers, and those who tested beta versions of the script and gave feedback.

Also included in version 1.06:

  • Added workaround for Test-Mailflow error for Exchange 2013 Mailbox servers.
  • Excluded recovery databases from active database calculation.
  • Fixed bug where high transport queues would not count as an alert.
  • Fixed error thrown when Site attribute can’t be found for Exchange 2003 servers.
  • Fixed bug causing Exchange 2003 servers to be added to the report twice.

About the Author

Paul Cunningham

Paul is a former Microsoft MVP for Office Apps and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul no longer writes for Practical365.com.


  1. Nikolas


    I am attempting to download the script but it is still asking me to join. When I hit join it says you are already logged in. Any ideas?


  2. Alton

    Hi Paul,

    Thanks for the new script. I recently migrated to 2013 a site with a total of 22 Exchange 20103 servers, 11 CAS and 11 Mailbox. For some reason when I run the script Its not sending the html report as well as complaining about a DC when I run it via a batch file in a windows command prompt that called the .psl file.

    Essentialy I don’t have the daily check now and I desperately need it for my Exchange morning sanity check. Any advise would be appreciated.

    Kind regards

    University of KwaZulu Natal

    1. Avatar photo
      Paul Cunningham

      Make sure you’ve got the latest version, and run it with the -Log switch which will write a log file that may help with your troubleshooting.

      My hunch is you’ve either got the wrong SMTP settings configured in the script, or the server you’re pointing to is rejecting the mail.

  3. Soeren P

    Hi Paul,
    Thank you very much for your updated scripts.
    I have suggestion: The script writes the server version (for me “Exchange 2010”), but in an patch/upgrade scenario I would like it to write ie “Exchange 2010 service pack X, Roll up ver X”. Would that be possible?

    Thanks a lot in advance.

    Best regards, Soerne

  4. Mike DiVergilio

    Paul, love the script, even with 38 x 2013 server across 2 sites and 240 DBs with 5 copies, this tool keeps up. What is the possibility of reporting if the server is in maintenance mode, and what the status of the components are. Also if you could validate if there is a difference in the component state in the registry or AD, specifically when dealing with the hubtransport component. Some visibility into the state of SafetyNet would also be good, specifically if there is any lag sending those messages to remote transport services.

Leave a Reply