Update 10/2022: PowerShell module v3 is now released. References to the 2.0.6-Preview6 module in this blog post have been replaced with v3.
Exchange Online PowerShell is deprecating support for Basic Authentication starting in October 2022. So, we wanted to clarify which versions of Exchange Online PowerShell modules are affected by this deprecation. We do realize that over time, things may have become a bit difficult to understand.
Let’s see if we can make this better!
History of Exchange Online PowerShell module releases
We’ve released several versions of Exchange Online PowerShell modules:
Different types of cmdlets
There are 3 different versions of cmdlets:
Update 5/24/2022: We have now enabled all of the cmdlets to be REST-backed if you are using the v3 module. On this note, there is no functional difference between a RPS cmdlet and its REST-backed equivalent. You should expect that all the parameters will work the same between the two versions.
Basic authentication with Exchange Online vs. on the client (WinRM)
When talking about PowerShell, there are two places where Basic auth is used:
The deprecation of Basic auth in Exchange Online is not related to the requirement to have Basic auth enabled on the local client machine (WinRM) where the module is running. We know that customers want to be able to disable Basic auth on WinRM and that’s what the v3 module is about. But that work is not related to the deprecation of Basic auth for the module to connect to Exchange Online.
Further, the fact that WinRM Basic auth is enabled does not mean the PowerShell module is using Basic auth to connect to Exchange Online.
The WinRM Basic auth pipeline is essentially used for transporting Modern auth tokens when the v2 module is used. If WinRM Basic auth is disabled, the new cmdlets (both REST-based and REST-backed) will continue to work, but the older RPS cmdlets will not. It is those RPS cmdlets that today require WinRM Basic auth to be enabled on the client machine.
Putting it all together
Here’s a table that describes the above modules and their use of Basic auth:
Exchange Online PS module version |
Connection command |
Requires Basic auth on client WinRM |
Uses Basic auth for Exchange Online |
v1 Module |
New-PSSession and Import-PSSession |
Yes |
Yes, only basic |
v1 Module with MFA |
Connect-EXOPSSession |
Yes |
No |
v2 Module (current version: 2.0.5) |
Connect-ExchangeOnline |
Yes for RPS cmdlets (UseRPSSession) |
No |
v3 Module |
Connect-ExchangeOnline |
Yes for RPS cmdlets (UseRPSSession) |
No |
Summary
Here’s a quick recap of what you need to know:
We hope this clears up any confusion you may have had. Let us know if you have any feedback!
Exchange Online Manageability Team
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.