Thursday , April 19 2018

Modern Exchange Environment Report with Health Checks

Download the Script

Click to view the Complete Sample Report

Provides Below Exchange Environment Information –

  • Number of Exchange Servers
  • Number of Databases
  • Number of Mailboxes
  • Number of Public Folder Mailboxes
  • Number of Distribution Groups
  • Number of Dynamic Distribution Groups
  • Number of Contacts
  • Number of DAG
  • Number of Accepted Domains
  • Number of Organizational Administrators
  • Exchange Server Roles
  • Exchange Server  Edition
  • Exchange Server Site
  • Exchange Server Operating System
  • Exchange Server Connectors used per Exchange Server
  • Mailbox Database Mount Status
  • Mailbox Database Mounted on Server
  • Mailbox Database Primary Content Indexing Status
  • Mailbox  Database Copies Information.
  • Mailbox Database Mailbox Retention Information
  • Mailbox Database Item Retention Information
  • Mailbox Database Circular Logging Information
  • Datacenter Activation Coordination (DAC) mode
  • Database Availability Group Witness Server Information
  • Database Availability Group Witness files location
  • Database Availability Group Member Replication status information

Short Description of Datacenter Activation Coordination (DAC) mode –

Datacenter Activation Coordination (DAC) mode is a property of a database availability group (DAG). DAC mode is disabled by default but should be enabled for all DAGs with two or more members that use continuous replication. DAC mode shouldn’t be enabled for DAGs that use third-party replication mode unless specified by the third-party vendor.

DAC mode is designed to prevent split brain from occurring by including a protocol called Datacenter Activation Coordination Protocol (DACP). When DAC mode is enabled, DAG members won’t automatically mount databases even if they have quorum. Instead DACP is used to determine the current state of the DAG and whether Active Manager should attempt to mount the databases.

Its recommended to enable DAC in a multi-site environment (Value – DagOnly)

You can Open Power shell – Run it on your Exchange Server.

you can customize few settings on the script to generate emails . By default the script saves the HTML File to “C:\ModernExchangeEnvironmentReport.htm”

# ----- Settings ----

#Should the Script Open the HTML File locally on Finishing the script - Say Yes - if you wish to

$Openhtmllocally = "No"

Write-Progress -Activity "Email Settings" -status "Storing Email Settings"
## ----- Email ----Fill in with your details

$EmailTo = ""
$EmailFrom = ""
$EmailSubject = "Modern Exchange Environement Report $Date"
# Creating Anonymous Relay -
$SmtpServer = ""
$Attachment = "C:\ModernExchangeEnvironmentReport.htm"

# ----- Settings ----


Click to view the Complete Sample Report

Download the Script

About Satheshwaran Manoharan

Satheshwaran Manoharan is an Microsoft Exchange Server MVP , Publisher of
Supporting/Deploying/Designing Microsoft Exchange for some years.
Extensive experience on Microsoft Technologies.

Check Also

SQL 2008 R2 In place Upgrade to SQL 2014

I have a SCCM Database server running Windows Server 2012 R2 with SQL 2008 R2 ...


  1. Very good one

  2. Really good one for all system administrators

  3. Getting following error
    ” Get-CimInstance : WinRM cannot process the request. The following error occurred while using Kerberos authentication:
    Cannot find the computer MXE01. Verify that the computer exists on the network and that the name provided is
    spelled correctly.
    At C:\ExchangeEnvironmentReport.ps1:217 char:23
    + $((Get-CimInstance -ComputerName $ Win32_Operating …
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (root\cimv2:Win32_OperatingSystem:String) [Get-CimInstance], CimException
    + FullyQualifiedErrorId : HRESULT 0x80070035,Microsoft.Management.Infrastructure.CimCmdlets.GetCimInstanceCommand
    + PSComputerName : MXE01 “

  4. how to get the output as picture instead of attachment in an email.

  5. for Exchange 2010 not showing all table output. Does it require any modification ? please suggest

  6. HI there

    just used this for Exchange 2016 and theres quite a bit of info missing or incorrect?

    theres nothing in the Database Copies, MbxRetention.days and ItemRetention.Days columns??

    Also where is not showing the correct amount of mailboxes within the DBs, as all the archive ones are showing as either zero or one and another DB shows 1000 mailboxes but I know full well theres more than that in the db. Ive checked and -resultsize seems to be set as unlimited so not quite sure whats going on?

  7. On my Environment (Exchange 2016 CU6)
    I get some Errors at the ContentIndexState. Message is “Unknown” and the script does not recognised the amount of copies, so it reported an Error like “Failures: There were database redundancy check failures for database xxx”
    For the Exchange 2013 DAG everything works fine…

Leave a Reply

Your email address will not be published.