This script gathers a list of enabled users for a selected Exchange Server client protocol. The list of users is sent by email as HTML text in the email body or as an attached CSV file. You can select to gather data for a single protocol or for all protocols.
Available protocols are:
# Find users having all protocols enabled, create a CSV file per protocol and send an email with CSV attachments
.\Get-EnabledProtocolReport.ps1 -SendMail -MailFrom firstname.lastname@example.org -MailTo email@example.com -MailServer relay.varunagroup.de -Protocol ALL
# Find users having all protocols enabled, create a CSV file per protocol
.\Get-EnabledProtocolReport.ps1 -Protocol ALL -ExportCsv
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:
The script uses a separate CSS file for styling the HTML output.
# 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 firstname.lastname@example.org -MailTo email@example.com -MailServer relay.mcsmemail.de
Additional credits go to Steve Goodman for the original Exchange Environment Report V1.x scripts.
When using this PowerShell script you can update the guest user's thumbnail photo to a photo that aligns with your company's CI and you do not have to rely on the Azure AD default photo.
This script set the AzureADThumbnailPhoto for guest users to a photo provided as JPG or PNG file.
The photo file can be up to 100KB in size. This is currently not checked in the script.
You can either update a single guest user or all guest users.
When updating the user photo can choose to set the photo forcibly or only if there is no photo set.
The changes are written to a log file. The log file functions are part of the GlobalFunctions module.
# Set the photo ExternalUser.png for all guest users if no photo exists
.\Set-GuestUserPhoto.ps1 -FilePath D:\Photos\ExternalUser.png -GuestUsersToSelect All -UpdateMode SetIfNoPhotoExists
# Set the photo ExternalUser.png for guest user JohnDoe@varunagroup.de if no photo exists
.\Set-GuestUserPhoto.ps1 -FilePath D:\Photos\ExternalUser.png -GuestUsersToSelect Single -UserPrincipalName JohnDoe@varunagroup.de
This script connects either to Exchange Online or to a dedicated on-premises Exchange Server to export configured mailbox delegates and SMTP forwarding configurations.
The SMTP forwarding configurations are gathered from inbox rules and from mailbox forwarding settings.
# Example 1
# Connect to the on-premises Exchange Server mx01.varunagroup.de and export delegation and SMTP forwarding information
.\Get-DelegatesAndForwardingRules.ps1 -ExchangeHost mx01.varunagroup.de
# Example 2
# Connect to the on-premises Exchange Server mx01.varunagroup.de, export delegation and SMTP forwarding information and get verbose information on the objects worked on
.\Get-DelegatesAndForwardingRules.ps1 -ExchangeHost mx01.varunagroup.de -Verbose
# Example 3
# Connect to Exchange Online and export delegation and SMTP forwarding information
Use GitHub Issues to leave comments, requests, end even bugs or issues.
The script is based on the O365-InvestigationTooling script DumpDelegatesandForwardingRules.ps1 by Brandon Koeller
Find more Office 365 investigation tooling scripts at https://github.com/OfficeDev/O365-InvestigationTooling.
The Exchange PowerShell script (Set-ReceiveConnectorIpAddress) to add or remove remote IP address ranges to/from Exchange Server 2013+ receive connectors received an update.
The script now checks if the required PowerShell modules are available before failing to load the modules.
Get the most recent version at Github or TechNet Gallery
As always, enjoy Exchange Server On-Premises.