I’ve just updated the Get-DAGHealth.ps1 PowerShell script to version 1.1. The new version fixes some bugs with how the replication queues for lagged copies are handled, which seemed to be causing incorrect report results.

As an additional update I am pleased to announce that the script is now tested and working for Exchange Server 2013 database availability groups as well. I have not yet tested a mixed 2010/2013 org though.

You can download the new version here.

Please continue to report bugs and make feature requests in the comments on that post.

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. Tuan Bui

    Hi Paul
    I running Scipt on Coexist exchange 2010 and exchange 2013.
    I had 2 DAG (1 For Exchange 2010 and 1 Exchange 2013). Exchange 2010 was OK, but Exchange 2013 not Run
    It not get healthy DAG exchange 2013 with Error
    Could not load file or assembly ‘Microsoft.Exchange.Data, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35′ or one of its dependencies. The
    system cannot find the file specified.
    + CategoryInfo : NotSpecified: (:) [Get-DatabaseAvailabilityGroup], FileNotFoundException
    + FullyQualifiedErrorId : [Server=XXX2013,RequestId=faca3730-5443-4548-90e8-bddf46d82352,TimeStamp=10/27/2014 11:48:46 AM] [FailureCategory=Cmdlet-F
    ileNotFoundException] AF360ECA,Microsoft.Exchange.Management.SystemConfigurationTasks.GetDatabaseAvailabilityGroup
    + PSComputerName : XXX2013.domain.com

    Please, can You help me fix it?

      1. Tuan Bui

        Tks Paul!

  2. Hector Alvarez

    Great script indeed!
    However 🙂
    It appears there still an issue with the replication queues of lagged databases.
    I’m using the script for a DAG that expands over 3 sites and 4 Exchange servers one of which all databases are lagged by 12 hours and I keep on getting a “failed” for the server “DB replay log not keeping up” on that particular Exchange server.
    Thank you,

  3. Arras


    how can I add a logo below Output/send the HTML report?

    Exchange DAG Health Check Report


  4. Oleg A

    Thanks, Paul.

    Please add encoding parameter to send message commandlet, like this:
    Send-MailMessage @smtpsettings -Body $htmlreport -BodyAsHtml -Encoding ([System.Text.Encoding]::UTF8)

    Without this, when we have not English date and time format on server all dates in message will be not readable.

    1. Avatar photo
      Paul Cunningham

      Thanks for the reminder. I have quickly added that in to the version that is now available for download 🙂

Leave a Reply