This script fetches Exchange organization configuration data and exports it as Word document.
The script is currently under development in version 0.9.
You are welcome to contribute to the PowerShell script development.
This script reads Exchange Organization data and creates a single Microsoft Word document. A later version will support exporting to an Html file.
The script requires an Exchange Management Shell for Exchange Server 2016 or newer. Older EMS versions are not tested.
A locally installed version of Word is required, as plain Html export is not available.
The default file name is 'Exchange-Org-Report [TIMESTAMP].docx'
Most of the script requires only Exchange admin read-only access for the Exchange organization. Querying address list information requires a membership in the RBAC role "Address Lists".
The script queries hardware information from the Exchange server systems and requires local administrator access to the computer systems.
- Windows Server 2016+, Windows 10
- Exchange Server Management Shell
- Word 2016+
- Required Exchange Role Assignment: Address Lists
- PowerShell Script saved with UTF-8 encoding as it contains certain UTF-8 characters
- v0.9 Initial community pre-release
- v0.91 Information about processor cores, memory, and page file size added
The company name to use on the cover page.
Target output format for the report.
Valid values: MSWord, Html Default: MSWord
Html is currently not implemented
The cover page name for use by Microsoft Word. Only Word 2010 or newer are supported. The available cover pages depend on the type of Word setup and locale installed on the system.
The default cover page is Sideline.
Company address to use on the cover page, if the cover page contains an Address field.
Company email address to use on the cover page, if the cover page contains an Email field.
Company fax number to use on the cover page, if the cover page contains a Fax field.
Company phone number to use on the cover page, if the cover page contains a Phone field.
ViewEntireForest switch to set the scope for all Exchange cmdlets to view the entire Exchange Org
Specifies the Active Directory forest object by providing the forest name.
Currently not implemented. Reserved for future use.
Specifies the Active Directory domain object by providing the doamin name.
Currently not implemented. Reserved for future use.
Switch to include object detail information in the genereted report. Including detailed object information might add a large number of additional pages to the report.
Detailed information is included for the following objects:
- User Role Assignments
- Outlook Web App Policies
- Retention Policy Tags
- Mobile Device Policies
- Address Lists
- Malware Policies
- Transport Rules
- Email Address Policies
- Receive Connectors
- Send Connectors
- Database Availability Groups
Switch to include detailed reporting on modern public folder hierarchy.
Using this switch results in an extended run of this scripts depending on the size of public folder hierarchy.
Partially implemented.
Switch to include an introductory text at the beginning of the report.
Switch to automatically send the generated report by email.
Currently not implemented.
Email address of the report sender.
Email address of the report recipient.
Fully qualified domain name (FQDN) of the mail server for sending the report email.
.\Get-ExchangeOrganizationReport.ps1 -ViewEntireForest:$true
Creates a Word report for the local Exchange Organization using the default values defined on the parameters section of the PowerShell script.
.\Get-ExchangeOrganizationReport.ps1 -Verbose
Creates a Microsoft Word report for the local Exchange Organization with a verbose output to the current PowerShell session.
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.
Written by: Thomas Stensitzki
- The script is based on the ADDS_Inventory.ps1 PowerScript by Carl Webster https://github.com/CarlWebster/ActiveDirectory