This repository was archived by the owner on Sep 17, 2023. It is now read-only.

Repository files navigation

Get-ExchangeEnvironmentReport

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

Based on the original 1.6.2 version by Steve Goodman

NOTE

This reposiroty is archived. You can find updated versions of the script in this new repository.

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 HTML report requires the CSS file that is part of this repository for proper HTML formatting.

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 internal Exchange Servers
  • CSS file for HTML formatting

Release

  • 2.0 : Initial Community Release of the updated original script
  • 2.1 : Table header label updated for a more consistent labeling
  • 2.2 : Bug fixes and enhancements
    • CCS fixes for Html header tags (issue #5)
    • New script parameter ShowDriveNames added to optionally show drive names for EDB/LOG file paths in database table (issue #4)
    • Exchange organization name added to report header
  • 2.4 : Bug fix for empty ExternalUrl parameter values
  • 2.5 : Issue #6 fixed - CSS file check added

Example Report

Example Report

Parameters

HTMLReport

File name 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.

ShowDriveNames

Include drive names of EDB file path and LOG file folder in database report table

CssFileName

The filename containing the Cascading Style Sheet (CSS) information fpr the HTML report Default: EnvironmentReport.css

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

Example 3

Generate the HTML report including EDB and LOG drive names

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

Example 4

Generate the HTML report using a custom CSS file

.\Get-ExchangeEnvironmentReport.ps1-HTMLReport .\report.html -CssFileName MyCustomCSSFile.css

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.

Credits

Based on the original 1.6.2 version by Steve Goodman.

Stay connected

For more Exchange Server, Microsoft 365, and Cloud Security checkout the services provided by Granikos.

About

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.

Topics

Resources

Stars

61 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on Sep 17, 2023. It is now read-only.

Repository files navigation

Get-ExchangeEnvironmentReport

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

Based on the original 1.6.2 version by Steve Goodman

NOTE

This reposiroty is archived. You can find updated versions of the script in this new repository.

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 HTML report requires the CSS file that is part of this repository for proper HTML formatting.

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 internal Exchange Servers
  • CSS file for HTML formatting

Release

  • 2.0 : Initial Community Release of the updated original script
  • 2.1 : Table header label updated for a more consistent labeling
  • 2.2 : Bug fixes and enhancements
    • CCS fixes for Html header tags (issue #5)
    • New script parameter ShowDriveNames added to optionally show drive names for EDB/LOG file paths in database table (issue #4)
    • Exchange organization name added to report header
  • 2.4 : Bug fix for empty ExternalUrl parameter values
  • 2.5 : Issue #6 fixed - CSS file check added

Example Report

Example Report

Parameters

HTMLReport

File name 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.

ShowDriveNames

Include drive names of EDB file path and LOG file folder in database report table

CssFileName

The filename containing the Cascading Style Sheet (CSS) information fpr the HTML report Default: EnvironmentReport.css

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

Example 3

Generate the HTML report including EDB and LOG drive names

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

Example 4

Generate the HTML report using a custom CSS file

.\Get-ExchangeEnvironmentReport.ps1-HTMLReport .\report.html -CssFileName MyCustomCSSFile.css

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.

Credits

Based on the original 1.6.2 version by Steve Goodman.

Stay connected

For more Exchange Server, Microsoft 365, and Cloud Security checkout the services provided by Granikos.

About

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.

Topics

Resources

Stars

61 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Sep 17, 2023. It is now read-only.

Repository files navigation

Get-ExchangeEnvironmentReport

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

Based on the original 1.6.2 version by Steve Goodman

NOTE

This reposiroty is archived. You can find updated versions of the script in this new repository.

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 HTML report requires the CSS file that is part of this repository for proper HTML formatting.

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 internal Exchange Servers
  • CSS file for HTML formatting

Release

  • 2.0 : Initial Community Release of the updated original script
  • 2.1 : Table header label updated for a more consistent labeling
  • 2.2 : Bug fixes and enhancements
    • CCS fixes for Html header tags (issue #5)
    • New script parameter ShowDriveNames added to optionally show drive names for EDB/LOG file paths in database table (issue #4)
    • Exchange organization name added to report header
  • 2.4 : Bug fix for empty ExternalUrl parameter values
  • 2.5 : Issue #6 fixed - CSS file check added

Example Report

Example Report

Parameters

HTMLReport

File name 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.

ShowDriveNames

Include drive names of EDB file path and LOG file folder in database report table

CssFileName

The filename containing the Cascading Style Sheet (CSS) information fpr the HTML report Default: EnvironmentReport.css

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

Example 3

Generate the HTML report including EDB and LOG drive names

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

Example 4

Generate the HTML report using a custom CSS file

.\Get-ExchangeEnvironmentReport.ps1-HTMLReport .\report.html -CssFileName MyCustomCSSFile.css

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.

Credits

Based on the original 1.6.2 version by Steve Goodman.

Stay connected

For more Exchange Server, Microsoft 365, and Cloud Security checkout the services provided by Granikos.

About

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.

Topics

Resources

Stars

61 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Sep 17, 2023. It is now read-only.

Repository files navigation

Get-ExchangeEnvironmentReport

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

Based on the original 1.6.2 version by Steve Goodman

NOTE

This reposiroty is archived. You can find updated versions of the script in this new repository.

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 HTML report requires the CSS file that is part of this repository for proper HTML formatting.

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 internal Exchange Servers
  • CSS file for HTML formatting

Release

  • 2.0 : Initial Community Release of the updated original script
  • 2.1 : Table header label updated for a more consistent labeling
  • 2.2 : Bug fixes and enhancements
    • CCS fixes for Html header tags (issue #5)
    • New script parameter ShowDriveNames added to optionally show drive names for EDB/LOG file paths in database table (issue #4)
    • Exchange organization name added to report header
  • 2.4 : Bug fix for empty ExternalUrl parameter values
  • 2.5 : Issue #6 fixed - CSS file check added

Example Report

Example Report

Parameters

HTMLReport

File name 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.

ShowDriveNames

Include drive names of EDB file path and LOG file folder in database report table

CssFileName

The filename containing the Cascading Style Sheet (CSS) information fpr the HTML report Default: EnvironmentReport.css

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

Example 3

Generate the HTML report including EDB and LOG drive names

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

Example 4

Generate the HTML report using a custom CSS file

.\Get-ExchangeEnvironmentReport.ps1-HTMLReport .\report.html -CssFileName MyCustomCSSFile.css

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.

Credits

Based on the original 1.6.2 version by Steve Goodman.

Stay connected

For more Exchange Server, Microsoft 365, and Cloud Security checkout the services provided by Granikos.

About

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.

Topics

Resources

Stars

61 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on Sep 17, 2023. It is now read-only.

Repository files navigation

Get-ExchangeEnvironmentReport

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

Based on the original 1.6.2 version by Steve Goodman

NOTE

This reposiroty is archived. You can find updated versions of the script in this new repository.

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 HTML report requires the CSS file that is part of this repository for proper HTML formatting.

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 internal Exchange Servers
  • CSS file for HTML formatting

Release

  • 2.0 : Initial Community Release of the updated original script
  • 2.1 : Table header label updated for a more consistent labeling
  • 2.2 : Bug fixes and enhancements
    • CCS fixes for Html header tags (issue #5)
    • New script parameter ShowDriveNames added to optionally show drive names for EDB/LOG file paths in database table (issue #4)
    • Exchange organization name added to report header
  • 2.4 : Bug fix for empty ExternalUrl parameter values
  • 2.5 : Issue #6 fixed - CSS file check added

Example Report

Example Report

Parameters

HTMLReport

File name 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.

ShowDriveNames

Include drive names of EDB file path and LOG file folder in database report table

CssFileName

The filename containing the Cascading Style Sheet (CSS) information fpr the HTML report Default: EnvironmentReport.css

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

Example 3

Generate the HTML report including EDB and LOG drive names

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

Example 4

Generate the HTML report using a custom CSS file

.\Get-ExchangeEnvironmentReport.ps1-HTMLReport .\report.html -CssFileName MyCustomCSSFile.css

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.

Credits

Based on the original 1.6.2 version by Steve Goodman.

Stay connected

For more Exchange Server, Microsoft 365, and Cloud Security checkout the services provided by Granikos.

About

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.

Topics

Resources

Stars

61 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Sep 17, 2023. It is now read-only.

Repository files navigation

Get-ExchangeEnvironmentReport

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

Based on the original 1.6.2 version by Steve Goodman

NOTE

This reposiroty is archived. You can find updated versions of the script in this new repository.

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 HTML report requires the CSS file that is part of this repository for proper HTML formatting.

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 internal Exchange Servers
  • CSS file for HTML formatting

Release

  • 2.0 : Initial Community Release of the updated original script
  • 2.1 : Table header label updated for a more consistent labeling
  • 2.2 : Bug fixes and enhancements
    • CCS fixes for Html header tags (issue #5)
    • New script parameter ShowDriveNames added to optionally show drive names for EDB/LOG file paths in database table (issue #4)
    • Exchange organization name added to report header
  • 2.4 : Bug fix for empty ExternalUrl parameter values
  • 2.5 : Issue #6 fixed - CSS file check added

Example Report

Example Report

Parameters

HTMLReport

File name 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.

ShowDriveNames

Include drive names of EDB file path and LOG file folder in database report table

CssFileName

The filename containing the Cascading Style Sheet (CSS) information fpr the HTML report Default: EnvironmentReport.css

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

Example 3

Generate the HTML report including EDB and LOG drive names

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

Example 4

Generate the HTML report using a custom CSS file

.\Get-ExchangeEnvironmentReport.ps1-HTMLReport .\report.html -CssFileName MyCustomCSSFile.css

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.

Credits

Based on the original 1.6.2 version by Steve Goodman.

Stay connected

For more Exchange Server, Microsoft 365, and Cloud Security checkout the services provided by Granikos.

About

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.

Topics

Resources

Stars

61 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Sep 17, 2023. It is now read-only.

Repository files navigation

Get-ExchangeEnvironmentReport

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

Based on the original 1.6.2 version by Steve Goodman

NOTE

This reposiroty is archived. You can find updated versions of the script in this new repository.

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 HTML report requires the CSS file that is part of this repository for proper HTML formatting.

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 internal Exchange Servers
  • CSS file for HTML formatting

Release

  • 2.0 : Initial Community Release of the updated original script
  • 2.1 : Table header label updated for a more consistent labeling
  • 2.2 : Bug fixes and enhancements
    • CCS fixes for Html header tags (issue #5)
    • New script parameter ShowDriveNames added to optionally show drive names for EDB/LOG file paths in database table (issue #4)
    • Exchange organization name added to report header
  • 2.4 : Bug fix for empty ExternalUrl parameter values
  • 2.5 : Issue #6 fixed - CSS file check added

Example Report

Example Report

Parameters

HTMLReport

File name 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.

ShowDriveNames

Include drive names of EDB file path and LOG file folder in database report table

CssFileName

The filename containing the Cascading Style Sheet (CSS) information fpr the HTML report Default: EnvironmentReport.css

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

Example 3

Generate the HTML report including EDB and LOG drive names

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

Example 4

Generate the HTML report using a custom CSS file

.\Get-ExchangeEnvironmentReport.ps1-HTMLReport .\report.html -CssFileName MyCustomCSSFile.css

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.

Credits

Based on the original 1.6.2 version by Steve Goodman.

Stay connected

For more Exchange Server, Microsoft 365, and Cloud Security checkout the services provided by Granikos.

About

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.

Topics

Resources

Stars

61 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
This repository was archived by the owner on Sep 17, 2023. It is now read-only.

Repository files navigation

Get-ExchangeEnvironmentReport

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

Based on the original 1.6.2 version by Steve Goodman

NOTE

This reposiroty is archived. You can find updated versions of the script in this new repository.

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 HTML report requires the CSS file that is part of this repository for proper HTML formatting.

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 internal Exchange Servers
  • CSS file for HTML formatting

Release

  • 2.0 : Initial Community Release of the updated original script
  • 2.1 : Table header label updated for a more consistent labeling
  • 2.2 : Bug fixes and enhancements
    • CCS fixes for Html header tags (issue #5)
    • New script parameter ShowDriveNames added to optionally show drive names for EDB/LOG file paths in database table (issue #4)
    • Exchange organization name added to report header
  • 2.4 : Bug fix for empty ExternalUrl parameter values
  • 2.5 : Issue #6 fixed - CSS file check added

Example Report

Example Report

Parameters

HTMLReport

File name 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.

ShowDriveNames

Include drive names of EDB file path and LOG file folder in database report table

CssFileName

The filename containing the Cascading Style Sheet (CSS) information fpr the HTML report Default: EnvironmentReport.css

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

Example 3

Generate the HTML report including EDB and LOG drive names

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

Example 4

Generate the HTML report using a custom CSS file

.\Get-ExchangeEnvironmentReport.ps1-HTMLReport .\report.html -CssFileName MyCustomCSSFile.css

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.

Credits

Based on the original 1.6.2 version by Steve Goodman.

Stay connected

For more Exchange Server, Microsoft 365, and Cloud Security checkout the services provided by Granikos.

About

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.

Topics

Resources

Stars

61 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages