I’m pleased to announce the availability of v1.10 of the Test-ExchangeServerHealth.ps1 script.

This version of the script contains one minor bug fix for testing DAG member replication health in mixed Exchange 2010/2013 organizations.

I am also announcing that development of a new V2.0 of Test-ExchangeServerHealth.ps1 is under way. Planned features include:

  • Support for Exchange Server 2013 only (the V1.x script will still be available for Exchange 2010 environments)
  • Complete review and overhaul of code (some of it is close to 4 years old now, and was written in Exchange 2007/PowerShell 1.0 era)
  • A more user-friendly configuration and customization method (as demonstrated here)
  • Use of Managed Availability cmdlets (as discussed here)
  • More report items that people have been asking for (where possible)

As always I want to thank everyone who has downloaded the script (literally tens of thousands of you), used it, reported bugs, requested features, or just given general feedback over the years.

If you have anything you’d like to see added or improved in the V2.0 script please feel free to leave a comment below.

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. Alex

    Hi Paul, I need to unify Test-ExchangeServerHealth.ps1 with the Test-ExchangeServerHealth.ps1 because I need to send a single email report. Could you help with this?

  2. Naveen KS

    Hi Paul,

    The script is very much help full.
    I have one concern, regarding Hub server services, since we don’t edge server configured in our environment. I would like to ignore one particular required hub service “MSExchangeEdgeSync”.
    Reason of this i am getting “Hub Transport Server Role required services not running.” error on the report.

    Any suggestion on this

  3. Matt

    Does this script run on Exchange 2007/2010 ?

  4. Aravind

    Hi Paul,

    When i am trying to executing the above script (v.1.10) in Exchange 2013, i am getting the following error.

    Need your help to fix this issue.

    Thanks in Advance


    Mail flow test: WARNING: Connecting to remote server Exchangembx01 failed with the following error message : The WinRM client cannot process the reque
    st. The WinRM
    client tried to use Negotiate authentication mechanism, but the destination computer (Exchangembx01:80) returned an ‘access denied’ error. Change the
    configuration to allow Negotiate authentication mechanism to be used or specify one of the authentication mechanisms supported by the server. To use
    Kerberos, specify the local computer name as the remote destination. Also verify that the client computer and the destination computer are joined to
    a domain. To use Basic, specify the local computer name as the remote destination, specify Basic authentication and provide user name and password.
    Possible authentication mechanisms reported by server: For more information, see the about_Remote_Troubleshooting Help topic.
    WARNING: Cannot validate argument on parameter ‘Session’. The argument is null or empty. Supply an argument that is not null or empty and then try


    1. chris

      Did you ever work this out – I am having the same issue

  5. jack

    a great tool, thanks Paul.
    a quick question, has anyone been able to refine the syntax using the task scheduler to pass the “htmlreport” parameter? thanks.

  6. Turbomcp

    Thanks for your efforts paul

Leave a Reply