Unknown's avatar

About Michel de Rooij

Michel de Rooij, with over 25 years of mixed consulting and automation experience with Exchange and related technologies, is a consultant for Rapid Circle. He assists organizations in their journey to and using Microsoft 365, primarily focusing on Exchange and associated technologies and automating processes using PowerShell or Graph. Michel's authorship of several Exchange books and role in the Office 365 for IT Pros author team are a testament to his knowledge. Besides writing for Practical365.com, he maintains a blog on eightwone.com with supporting scripts on GitHub. Michel has been a Microsoft MVP since 2013.

Practical PowerShell Series: Part 4


In the previous article on changing the flow of PowerShell code, I wrote on looping in PowerShell, providing scenarios for when to use what. In the fourth article in the Practical PowerShell series, I talk about code branching.

Topics discussed are the If-Then-Else, Switch (albeit briefly as its use cases are extensive), and stop cmdlets such as break-continue-return-exit. On the side, I will also touch briefly on unary operators.

Click here to read the full article on Practical 365.

Practical PowerShell Series: Part 3


When working with PowerShell and objects such as User in Entra ID or mailboxes in Exchange Online, you might quickly run into scenarios where you might want to repeat a set of instructions for multiple objects. This can happen for example, when configuring mailbox properties for multiple mailboxes. This construct of flow control is called looping.

In the third installment of the Practical PowerShell series, I discuss which types of looping are available in PowerShell and what their typical application is. Topics discussed are For loops, ForEach-Object vs ForEach, and While/Do-While and Do-Until. On the side, I will also touch briefly on casting, the format operator, and running code in parallel using ForEach-Object.

Click here to read the full article on Practical 365.

Hotfix for Exchange 2016 and 2019 (Apr2024)


Today, Microsoft released a hotfix for Exchange Server 2016 and 2016 that will not only fix some issues but, importantly, also add a much-welcomed functionality change: Hybrid Modern Authentication support OWA and ECP. You can deploy the hotfix directly on the Cumulative Update, similar to Security Updates. There is no need to deploy the March 2024 Security Update first.

The Hotfix for each supported Exchange Server build is linked below:

ExchangeDownloadBuildKBSupersedes
Exchange 2019 CU14 HU2Download15.2.1258.34KB5037224KB5036402
Exchange 2019 CU13 HU6Download15.2.1544.11KB5037224KB5036402
Exchange 2016 CU23 HU13Download15.1.2507.39KB5037224KB5036386

HMA support for OWA/ECP

This hotfix adds support for OWA and ECP when used in Hybrid Modern Authentication (HMA). This removes the need to deploy Azure Web Application Proxy for OWA and ECP when you want to deploy HMA. If you already deployed an Azure WebApp Proxy configuration for this purpose, you can choose to remove it after deploying the hotfix and configuring HMA on OWA/ECP. More information on enabling OWA and ECP for HMA support is here.

Caution: if you do not synchronize the identities of (Exchange) administrators to Entra, they will be unable to authenticate against Entra Identity and thus unable to manage Exchange on-premises using ECP. In those cases, they have the option to use Exchange Management Shell or synchronize their identities. Since Entra will be performing the authentication, you can add additional controls, such as location conditions or MFA, for those accounts.

ECC Certificate Support

The hotfix adds support for ECC certificates to Exchange, except for scenarios where Active Directory Federation Services (AD FS) is utilized. More information here.

Fixed Issues

The hotfix addresses the following issues, some of which were introduced after deploying the March 2024 SU:

IssueExchange 2016Exchange 2019
Download domains not working after installing the March 2024 SUYesYes
Search error in Outlook cached mode after installing March 2024 SUYesYes
OwaDeepTestProbe and EacBackEndLogonProbe fail after installing March 2024 SUYesYes
Edit permissions option in the ECP can’t be editedYesYes
Outlook doesn’t display unread message icon after installing Exchange Server March 2024 SUYesYes
My Templates add-in isn’t working after installing Microsoft Exchange Server March 2024 SUYesYes

Notes

  • The hotfix is Exchange build level specific. You cannot apply the hotfix for Exchange 2019 CU14 to Exchange 2019 CU13. When downloading, the security update will carry the same name, and I would suggest tagging the file name with the Exchange version and CU when archiving it, e.g., Exchange2019-CU13-KBXXXXXX-x64-en.msp.

On a final note, as with any patch or update, it is recommended to apply this update in a test environment first, prior to implementing it in production.

The Practical 365 Podcast S4 E17


It took a little over 6 and a half years since the last episode of The UC Architects podcast, but I was finally reunited with Steve Goodman. This time it was to join him and Paul Robichaux to record an episode of the Practical 365 podcast, and talk about the new Practical PowerShell series on Practical365.com.

Topics discussed in this episode are:

  • Microsoft Teams: Automatic Camera Switching, Multiple Views, and Improved Joining Options Elevate Teams Rooms Experiences
  • Microsoft Exchange: High Volume Email
  • Practical PowerShell series: Bridging the gap

I hope you enjoy the episode.

You can view the notes and listen to the episode here, or you can subscribe to the podcasts using Apple Podcasts, Spotify or look for it in your favorite podcast app.

Practical PowerShell Series: Part 2


When working on PowerShell scripts, there might come a point where a set of instructions is – in small or larger form – a repeat of code that occurs elsewhere in the script. Or it might be code you used in another script or sourced from other locations, and you want to incorporate it into your script to easily call the code.

In the second installment of the Practical PowerShell series, I will discuss how to leverage code’s reusability through functions and scripts.

Among the topics discussed are:

  • (Advanced) functions, including custom parameters, common parameters, and typing.
  • Adding helpful instructions so your script and functions become documenting.
  • Pipeline processing.

Click here to read the full article on Practical 365.