- Reworked error handling in
New-MS365IncidentReport
for Teams notification in relation to Retirement of Office 365 connectors within Microsoft Teams
- Fixed the Teams notification error that happens when the JSON payload shows {} for null in Windows PowerShell. This error does not happen in PowerShell 7.
- It appears that ConvertTo-Json in Windows PowerShell outputs empty values as
{}
, while PowerShell 7 outputs empty asnull
- which is the correct one for Teams adaptive cards.
- It appears that ConvertTo-Json in Windows PowerShell outputs empty values as
- Added replacement for
\u0027
(unicode apostrophe) to'
.
- Added
NoResult
runtime status to the Run History File when there are no new or updated events. - Added functionality to send consolidated notifications to Teams Webhook.
- The Teams-related parameters are:
-SendTeams <boolean>
. Default is$false
.-TeamsWebHookURL <string[]>
. Accepts an array of Teams incoming webhook URLs.
- The Teams-related parameters are:
- Fixed the bad request (400) error when there's no Status, Workload, or LastUpdatedTime filter specified.
- If the
ClientCertificateThumbprint
is specified, the script will now look for the matching certificate inCert:\CurrentUser\My
andCert:\LocalMachine\My
.- Reminder:
ClientCertificateThumbprint
is only applicable on Windows systems.
- Reminder:
- Fixed error in output directory handling whenever the
$ENV:HOME
or$ENV:HOMEPATH
does not exist.
- Minor code change to properly display the "Status" values.
- Example:
extendedRecovery
=Extended Recovery
- Example:
serviceDegradation
=Service Degradation
.
- Example:
- Added unicode space character replacement code.
- Changed
LastRunTime
location from the registry to a CSV file on the user's home folder.- On Windows systems -
Env:\HOMEPATH\MS365HealthReport\<tenant>\runHistory.csv
- On non-Windows systems -
Env:\HOME\MS365HealthReport\<tenant>\runHistory.csv
- On Windows systems -
- Now compatible with PowerShell on Linux.
- Patched the smart quote replace code. Strings with smart single and double quotes are causing the email sending to fail.
- Removed Office 365 Service Communications API and replaced with Microsoft Graph API to read the service health events.
- Removed the
JWTDetails
module as a requirement. - Added
-Status
parameter to filter query results based on status (Ongoing
orClosed
). This parameter is optional and if not used, all issues will be retrieved. - Added
Get-MS365HealthOverview
which you can use to retrieve the health overview summary only. - Removed
Get-MS365CurrentStatus
as it is no longer applicable. UseGet-MS365HealthOverview
instead.
- Fixed error in reading the last run timestamp from the registry.
- Add "Classification" column to summary.
- Add On-page anchor links in summary.
- Add
-Consolidate
parameter (boolean) to consolidate reports in one email.
- Code cleanup.
- Fixed some JSON related errors.
- Add code to force TLS 1.2 connection Issue #2
- Added logic to replace smart quotes in messages Issue #1