As an admin, we all know that a few administrative works in Exchange Online can be done only using PowerShell. Currently, we are using Version 2 of Exchange Online PowerShell (EXO V2 module). In September 2022, Microsoft released a new module named the Exchange Online PowerShell v3 module (EXO V3 module) as general availability. One of the main highlights is the REST-based nature of this module, which does not require basic authentication to be enabled in WinRM. Now let’s take a closer look at what the V3 module has to offer!
This new version uses REST-based cmdlets and allows the use of Exchange Online cmdlets using REST API calls. Here are the features that this version adds to the existing EXO V2 module (versions 2.0.5 and earlier).
- More secure – Admins can disable WinRM basic authentication on their client machines using REST API cmdlets. Since REST API cmdlets support modern authentication, they do not need to rely on remote PowerShell sessions.
- More reliable – As REST API cmdlets come with integrated retry mechanisms, transient failures can get handled easily.
- More performant – The connection establishment eliminates the need to set up a PowerShell run space in Exchange Online PowerShell, thereby increasing the speed.
- Certificate-based Authentication – Provides support for app-based authentication (CBA) for cmdlets accessed through the Security and Compliance endpoint.
- Supports Managed Identities -Provision for managed identities in Azure Automation runbook scripts is made possible.
It is said that REST APIs offer a more stable connection to the Exchange Online back end, making most functions more responsive and able to operate in a stateless session. The following are the advantages of REST API cmdlets in Exchange Online PowerShell.
- Highly secure and reliable compared to Remote PowerShell cmdlets and Get-EXO*cmdlets.
- REST API cmdlets in Exchange Online PowerShell have the same cmdlet names as remote PowerShell equivalents so that your existing scripts and solutions will continue to work.
- A few REST API cmdlets in Exchange Online PowerShell now include the experimental ‘UseCustomRouting’ switch to improve overall performance.
- To download the latest version of the Exchange Online PowerShell module, you can use the following cmdlet.
Install-Module -Name ExchangeOnlineManagement -RequiredVersion 3.0.0
The latest version of the module is officially supported in PowerShell 7 on Windows, Linux, and Apple macOS.
- In case the module is already installed, you can run these PowerShell cmdlets to update the latest public version of the module.
Update-Module -Name ExchangeOnlineManagement
As a final note, this is a major release that aids in getting rid of WinRM dependencies while at the same time ensuring backwards compatibility! Hopefully, this blog made you aware of the new update in the Exchange Online PowerShell module. Feel free to reach us in the comment section for further assistance.