Skip to content

Latest commit

Β 

History

26 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“§ Exchange Environment Report 3.1

PowerShell Exchange

A high-performance PowerShell script to generate modern HTML dashboards for your Microsoft Exchange Server infrastructure.

⭐ Credits & Acknowledgements

This project is a modernized 3.1 evolution by B.O based on the original work by Steve Goodman and Thomas Stensitzki.


πŸš€ Features

  • ⚑ Ultra-Fast: Uses "Bulk Collection" logic (single query per server) to scan massive infrastructures in seconds.
  • πŸ“Š KPI Dashboard: Immediate overview (Active/Archive Mailboxes, Database Whitespace, Server Health).
  • 🎨 100% Customizable: Adapt the report's logo, title, and colors to your corporate branding via simple parameters.
  • πŸ”‹ Visual Gauges: Instant monitoring of disk space (Database & Logs) with color codes.
  • πŸ›‘οΈ Secure by Design: No complex external calls. Easily hostable on IIS.
  • πŸ” Live Filtering: Interactive sorting and filtering directly in your browser.
  • πŸ“§ Email Support: Automated delivery of HTML reports to your mailbox.
  • πŸ“œ Certificate Badges: Visual breakdown of IIS, SMTP, POP, IMAP, and AUTH certificates.

πŸ“‹ Prerequisites

  • OS: Windows Server 2012 R2 or higher.
  • Exchange: Management Shell (EMS) installed.
  • Permissions: Member of Organization Management or View-Only Organization Management group.
  • Network: WinRM (5985) and RPC/DCOM open to target servers.

πŸ› οΈ Installation & Usage

  1. Download the Get-ExchangeEnvironmentReport.ps1 file.
  2. Run the script from an Exchange Management Shell (Administrator).

Standard Command

.\Get-ExchangeEnvironmentReport.ps1 `
    -HTMLReport "C:\inetpub\wwwroot\Report\Exchange_Status.html"

Customization (White Label)

You can adapt the report to your visual identity:

.\Get-ExchangeEnvironmentReport.ps1 `
    -HTMLReport "C:\Reports\Dashboard.html" `
    -CompanyLogo "MYCORP" `
    -ReportTitle "MESSAGING OPS" `
    -ThemeColor "#0078D4"
Parameter Description Default
-CompanyLogo The "Logo" text top left (e.g., Company Name). EXCHANGE
-ReportTitle The main title of the report. REPORTING
-ThemeColor HEX color code for titles, borders, and theme. #F27A00

Sending via Email

.\Get-ExchangeEnvironmentReport.ps1 `
    -HTMLReport "C:\Reports\Daily.html" `
    -SendMail $true `
    -MailFrom "report@mycorp.com" `
    -MailTo "admins@mycorp.com" `
    -MailServer "smtp.mycorp.com"

πŸ›‘οΈ Security (IIS)

To restrict access to the HTML report (e.g., Internal only), it is recommended to configure IP Address and Domain Restrictions directly on your IIS web server. The script does not handle authentication to remain lightweight and compatible.

🀝 Contribution

This script is a "Community Standard". Feel free to open Pull Requests to add DAG metrics, Transport queues, or optimizations.


πŸ“ Changelog

[V3.1] - 2026-05-04

  • Added: Restored Email Delivery functionality (Send-MailMessage).
  • Added: Client-side filtering and sorting in the HTML report.
  • Added: Advanced Certificate Analysis with service badges (IIS, SMTP, POP, IMAP, AUTH).
  • Added: Visible versioning in console and HTML footer/header.
  • Improved: Optimized data collection logic using lookup tables.

License: MIT Author: B.O

About

πŸ“§ High-performance PowerShell script generating a modern HTML dashboard for Microsoft Exchange 2016, 2019, and SE. Features bulk collection, visual disk gauges, and 100% branding customization. Optimized for speed and security.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages