Skip to content
This script creates an HTML report showing the following information about an Exchange 2019, 2016, 2013, 2010, and, to a lesser extent, 2007 and 2003 environment.
PowerShell CSS
Branch: master
Clone or download
Latest commit d35f4ea Aug 21, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
images Initial upload for version 2.0 Jun 22, 2019
EnvironmentReport.css
Get-ExchangeEnvironmentReport.ps1
LICENSE.md LICENSE.md updated Apr 6, 2017
README.md Minor fixes for 2.0 Aug 21, 2019
Run-ExchangeEnvironmentReport.ps1 Initial upload for version 2.0 Jun 22, 2019

README.md

Get-ExchangeEnvironmentReport

Creates an HTML report describing the On-Premises Exchange environment.

Based on the original 1.6.2 version by Steve Goodman

Description

This script creates an HTML report showing the following information about an Exchange 2019, 2016, 2013, 2010, and, to a lesser extent, 2007 and 2003 environment.

The report shows the following:

  • As summary

    • Total number of servers per Exchange Server version
    • Total number of mailboxes per On-Premises Exchange Server version, Office 365, and Exchange Organisation
    • Total number of Exchange Server functional roles
  • Per Active Directory Site

    • Total number of mailboxes
    • Internal, External, and CAS Array names
    • Exchange Server computers
      • Product version
      • Service Pack, Update Rollup, and/or Cumulative Update
      • Number of preferred and maximum active databases
      • Functional Roles
      • Operating System with Service Pack
  • Per Database Availability Group

    • Total number of member servers
    • List of member servers
    • DAG databases
      • Number of mailboxes and average mailbox size
      • Number of archive mailboxes and average archive mailbox size
      • Database size
      • Database whitespace
      • Disk space available for database and log file volume
      • Last full backup timestamp
      • Circular logging enabled
      • Mailbox server hosting an active copy
      • List of mailbox servers hosting database copies
  • Per Database (Non-DAG, pre-DAG Exchange Server)

    • Storage group and database name
    • Server name hosting the database
    • Number of mailboxes and average mailbox size
    • Number of archive mailboxes and average archive mailbox size
    • Database size
    • Database whitespace
    • Disk space available for database and log file volume
    • Last full backup timestamp
    • Circular logging enabled

The PowerShell script does not gather information on public folders or analyzes Exchange cluster technologies like Exchange Server 2007/2003 CCR/SCR.

Requirements

  • Exchange Server Management Shell 2010 or newer
  • WMI and Remote Registry access from the computer running the script to all Exchange Servers

Example Report

Example Report

Parameters

HTMLReport

Filename to write HTML Report to

SendMail

Send Mail after completion. Set to $True to enable. If enabled, -MailFrom, -MailTo, -MailServer are mandatory

MailFrom

Email address to send from. Passed directly to Send-MailMessage as -From

MailTo

Email address to send to. Passed directly to Send-MailMessage as -To

MailServer

SMTP Mail server to attempt to send through. Passed directly to Send-MailMessage as -SmtpServer

ViewEntireForest

By default, true. Set the option in Exchange 2007 or 2010 to view all Exchange servers and recipients in the forest.

ServerFilter

Use a text based string to filter Exchange Servers by, e.g., NL-* Note the use of the wildcard (*) character to allow for multiple matches.

Examples

Example 1

Generate an HTML report and send the result as HTML email with attachment to the specified recipient using a dedicated smart host

.\Get-ExchangeEnvironmentReport.ps1 -HTMReport ExchangeEnvironment.html -SendMail -ViewEntireForet $true -MailFrom roaster@mcsmemail.de -MailTo grillmaster@mcsmemail.de -MailServer relay.mcsmemail.de

Example 2

Generate an HTML report and save the report as 'report.html'

.\Get-ExchangeEnvironmentReport.ps1 -HTMLReport .\report.html

Note

THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.

TechNet Gallery

Download and vote at TechNet Gallery

Credits

Based on the original 1.6.2 version by Steve Goodman.

Stay connected:

For more Office 365, Cloud Security, and Exchange Server stuff checkout services provided by Granikos

You can’t perform that action at this time.