{"id":14064529,"url":"https://github.com/Apoc70/Get-ExchangeEnvironmentReport","last_synced_at":"2025-07-29T18:32:50.361Z","repository":{"id":91078983,"uuid":"37530653","full_name":"Apoc70/Get-ExchangeEnvironmentReport","owner":"Apoc70","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.","archived":true,"fork":false,"pushed_at":"2023-09-17T08:30:27.000Z","size":123,"stargazers_count":55,"open_issues_count":5,"forks_count":27,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-09-29T04:06:49.314Z","etag":null,"topics":["exchange","exchange-server","powershell-script"],"latest_commit_sha":null,"homepage":"https://granikos.eu/exchange-environment-report-v2/","language":"PowerShell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Apoc70.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2015-06-16T13:08:44.000Z","updated_at":"2024-08-22T10:50:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"e67269bb-734a-4600-88d1-fafbb3437582","html_url":"https://github.com/Apoc70/Get-ExchangeEnvironmentReport","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apoc70%2FGet-ExchangeEnvironmentReport","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apoc70%2FGet-ExchangeEnvironmentReport/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apoc70%2FGet-ExchangeEnvironmentReport/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apoc70%2FGet-ExchangeEnvironmentReport/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Apoc70","download_url":"https://codeload.github.com/Apoc70/Get-ExchangeEnvironmentReport/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228040693,"owners_count":17860211,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["exchange","exchange-server","powershell-script"],"created_at":"2024-08-13T07:03:54.751Z","updated_at":"2024-12-04T03:30:59.246Z","avatar_url":"https://github.com/Apoc70.png","language":"PowerShell","readme":"# Get-ExchangeEnvironmentReport\n\nCreates an HTML report describing the On-Premises Exchange environment.\n\nBased on the original 1.6.2 version by Steve Goodman\n\n## NOTE\n\nThis reposiroty is archived. You can find updated versions of the script in this new [repository](https://github.com/Apoc70/PowerShell-Scripts).\n\n## Description\n\nThis 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.\n\nThe HTML report requires the CSS file that is part of this repository for proper HTML formatting.\n\nThe report shows the following:\n\n* As summary\n  * Total number of servers per Exchange Server version\n  * Total number of mailboxes per On-Premises Exchange Server version, Office 365, and Exchange Organisation\n  * Total number of Exchange Server functional roles\n\n* Per Active Directory Site\n  * Total number of mailboxes\n  * Internal, External, and CAS Array names\n  * Exchange Server computers\n    * Product version\n    * Service Pack, Update Rollup, and/or Cumulative Update\n    * Number of preferred and maximum active databases\n    * Functional Roles\n    * Operating System with Service Pack\n\n* Per Database Availability Group\n  * Total number of member servers\n  * List of member servers\n  * DAG databases\n    * Number of mailboxes and average mailbox size\n    * Number of archive mailboxes and average archive mailbox size\n    * Database size\n    * Database whitespace\n    * Disk space available for database and log file volume\n    * Last full backup timestamp\n    * Circular logging enabled\n    * Mailbox server hosting an active copy\n    * List of mailbox servers hosting database copies\n\n* Per Database (Non-DAG, pre-DAG Exchange Server)\n  * Storage group and database name\n  * Server name hosting the database\n  * Number of mailboxes and average mailbox size\n  * Number of archive mailboxes and average archive mailbox size\n  * Database size\n  * Database whitespace\n  * Disk space available for database and log file volume\n  * Last full backup timestamp\n  * Circular logging enabled\n\nThe PowerShell script does not gather information on public folders or analyzes Exchange cluster technologies like Exchange Server 2007/2003 CCR/SCR.\n\n## Requirements\n\n* Exchange Server Management Shell 2010 or newer\n* WMI and Remote Registry access from the computer running the script to all internal Exchange Servers\n* CSS file for HTML formatting\n\n## Release\n\n* 2.0 : Initial Community Release of the updated original script\n* 2.1 : Table header label updated for a more consistent labeling\n* 2.2 : Bug fixes and enhancements\n  * CCS fixes for Html header tags (issue #5)\n  * New script parameter _ShowDriveNames_ added to optionally show drive names for EDB/LOG file paths in database table (issue #4)\n  * Exchange organization name added to report header\n* 2.4 : Bug fix for empty ExternalUrl parameter values\n* 2.5 : Issue #6 fixed - CSS file check added\n\n## Example Report\n\n![Example Report](/images/screenshot.png)\n\n## Parameters\n\n### HTMLReport\n\nFile name to write HTML Report to\n\n### SendMail\n\nSend Mail after completion. Set to $True to enable. If enabled, -MailFrom, -MailTo, -MailServer are mandatory\n\n### MailFrom\n\nEmail address to send from. Passed directly to Send-MailMessage as -From\n\n### MailTo\n\nEmail address to send to. Passed directly to Send-MailMessage as -To\n\n### MailServer\n\nSMTP Mail server to attempt to send through. Passed directly to Send-MailMessage as -SmtpServer\n\n### ViewEntireForest\n\nBy default, true. Set the option in Exchange 2007 or 2010 to view all Exchange servers and recipients in the forest.\n\n### ServerFilter\n\nUse a text based string to filter Exchange Servers by, e.g., NL-*\nNote the use of the wildcard (*) character to allow for multiple matches.\n\n### ShowDriveNames\n\nInclude drive names of EDB file path and LOG file folder in database report table\n\n### CssFileName\n\nThe filename containing the Cascading Style Sheet (CSS) information fpr the HTML report\nDefault: EnvironmentReport.css\n\n## Examples\n\n### Example 1\n\nGenerate an HTML report and send the result as HTML email with attachment to the specified recipient using a dedicated smart host\n\n``` PowerShell\n.\\Get-ExchangeEnvironmentReport.ps1 -HTMReport ExchangeEnvironment.html -SendMail -ViewEntireForet $true -MailFrom roaster@mcsmemail.de -MailTo grillmaster@mcsmemail.de -MailServer relay.mcsmemail.de\n```\n\n### Example 2\n\nGenerate an HTML report and save the report as 'report.html'\n\n``` PowerShell\n.\\Get-ExchangeEnvironmentReport.ps1 -HTMLReport .\\report.html\n```\n\n### Example 3\n\nGenerate the HTML report including EDB and LOG drive names\n\n``` PowerShell\n.\\Get-ExchangeEnvironmentReport.ps1 -ShowDriveNames -HTMLReport .\\report.html\n```\n\n### Example 4\n\nGenerate the HTML report using a custom CSS file\n\n``` PowerShell\n.\\Get-ExchangeEnvironmentReport.ps1 -HTMLReport .\\report.html -CssFileName MyCustomCSSFile.css\n```\n\n## Note\n\nTHIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE\nRISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.\n\n## Credits\n\nBased on the original 1.6.2 version by Steve Goodman.\n\n## Stay connected\n\n- My Blog: [https://blog.granikos.eu](https://blog.granikos.eu)\n- Twitter: [https://twitter.com/stensitzki](https://twitter.com/stensitzki)\n- LinkedIn: [http://de.linkedin.com/in/thomasstensitzki](http://de.linkedin.com/in/thomasstensitzki)\n- Github: [https://github.com/Apoc70](https://github.com/Apoc70)\n- MVP Blog: [https://blogs.msmvps.com/thomastechtalk/](https://blogs.msmvps.com/thomastechtalk/)\n- Tech Talk YouTube Channel (DE): [http://techtalk.granikos.eu](http://techtalk.granikos.eu)\n- Podcast (DE): [http://podcast.granikos.eu](http://podcast.granikos.eu)\n- LinkTree: [https://linktr.ee/stensitzki](https://linktr.ee/stensitzki)\n\nFor more Exchange Server, Microsoft 365, and Cloud Security checkout the services provided by Granikos.\n\n- Website: [https://granikos.eu](https://granikos.eu)\n- Twitter: [https://twitter.com/granikos_de](https://twitter.com/granikos_de)","funding_links":[],"categories":["PowerShell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FApoc70%2FGet-ExchangeEnvironmentReport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FApoc70%2FGet-ExchangeEnvironmentReport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FApoc70%2FGet-ExchangeEnvironmentReport/lists"}