I use PowerShell on both a Mac with Homebrew and a Windows machine. After Homebrew upgraded PowerShell, my usual Connect-ExchangeOnline command stopped working, so I had to authenticate with the -Device option instead. Now Connect-IPPSSession is also failing. The command I need requires the latest ExchangeOnlineManagement version, but authentication problems and module version mismatches are creating more errors. I've already tried upgrading, removing, cleaning up, and reinstalling the modules. Has anyone found a reliable way to make Exchange Online and IPPS sessions work together again?
3 Answers
PowerShell 7.6 appears to have introduced authentication trouble for some Exchange Online setups, similar to the WAM-related changes seen with other Microsoft modules. Downgrading to the latest 7.5.x release and pinning that version is a practical workaround if you need to get work done immediately.
Make sure you only have one installed version of the ExchangeOnlineManagement module, then explicitly update or reinstall it on Windows. You can use Update-Module -Name ExchangeOnlineManagement or Install-Module -Name ExchangeOnlineManagement -Force, and specify the module version when importing it if necessary. Also verify that any required RBAC or PIM role is active before connecting.
The workaround that finally worked was to authenticate to Exchange Online with the device flow, then connect to IPPS explicitly: Connect-ExchangeOnline -Device followed by Connect-IPPSSession -UserPrincipalName "[email protected]" -ConnectionUri https://ps.compliance.protection.outlook.com/powershell-liveid/. This avoids the failing interactive login path while still allowing the newer IPPS commands to load.

That was my experience too. After the Homebrew upgrade to 7.6.0, I stopped troubleshooting and went back to the latest 7.5 release, which restored my normal workflow.