33.5 C
Monday, July 15, 2024

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 = "administrator@dubai.com"
$EmailFrom = "administrator@dubai.com"
$EmailSubject = "Modern Exchange Environement Report $Date"
# Creating Anonymous Relay - https://www.azure365pro.com/how-to-configure-a-relay-connector-for-exchange-server-2013/
$SmtpServer = ""
$Attachment = "C:\ModernExchangeEnvironmentReport.htm"

# ----- Settings ----


Click to view the Complete Sample Report

Download the Script

Satheshwaran Manoharan
Satheshwaran Manoharanhttps://www.azure365pro.com
Award-winning Technology Leader with a wealth of experience running large teams and diversified industry exposure in cloud computing. From shipping lines to rolling stocks.In-depth expertise in driving cloud adoption strategies and modernizing systems to cloud native. Specialized in Microsoft Cloud, DevOps, and Microsoft 365 Stack and conducted numerous successful projects worldwide. Also, Acting as a Technical Advisor for various start-ups.

Related Articles


          • Getting error
            Get-WmiObject : Cannot validate argument on parameter ‘ComputerName’. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
            At C:\scripts\ExchangeHealth-Rakesh\ExchangeHealth-Rakesh2.ps1:235 char:53
            + $($windows2012above = ((Get-WmiObject -ComputerName $server.name -ErrorAction Si …
            + ~~~~~~~~~~~~
            + CategoryInfo : InvalidData: (:) [Get-WmiObject], ParameterBindingValidationException
            + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.GetWmiObjectCommand

  1. 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 $server.name Win32_Operating …
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (root\cimv2:Win32_OperatingSystem:String) [Get-CimInstance], CimException
    + FullyQualifiedErrorId : HRESULT 0x80070035,Microsoft.Management.Infrastructure.CimCmdlets.GetCimInstanceCommand
    + PSComputerName : MXE01 “

  2. 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?

  3. 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…

  4. I would LOVE for this to work on Exchange 2016! I keep ending up with a million warnings about “property expression isn’t valid” when collecting mail contacts info. I get “Cannot process argument transformation on parameter ‘Database’.” When the report is emailed, it shows Dag ) and mailbox counts for the databases are all zeros. No database copies info, no max retention, etc.

  5. I need to generate this report and send it to a mailing group. I have tried creating the DG and added the required members, report is not coming to DG , Instead it is coming to a single email address in to section.

    Can you help me to get this done


Please enter your comment!
Please enter your name here

× How can I help you?