SOLVED

MSOnline not working in PowerShell 7

New Contributor

Greetings,

 

I have installed Windows Terminal with PowerShell 7.1.1 for use with requests related to work as a L1 support tech.

 

I use PowerShell mainly for Exchange-related affairs but from time to time I need to connect to Azure services, for example, to retrieve a list of users easily. To do this, I use the module MSOnline which I installed on my PowerShell instance.

 

The problem appears when I try using Connect-MsolService on PowerShell 7.1.1 I get an error saying the cmdlet does not exist, but when I list available modules it does show in the list. Connect-MsolService works as intended on 5.1 shipped with Windows, which has been my workaround for the past weeks. But I'd prefer having this up and running.

 

TIA for any answers, and apologies if my English has minor errors, as it is not my mother tongue.

3 Replies
best response confirmed by KatoBaade (New Contributor)
Solution
On Windows, with PowerShell 5.1 installed, one can import PowerShell modules into a "compatability session". The way you do this is to make sure the PowerShell module is installed using PowerShell 5.1, and using PowerShell 7+ on Windows you can do:

Import-Module MSOnline -UseWindowsPowershell

After this, you can run those cmdlets like you normally would.
Thanks! This works, but do I need to do this for every new PS instance I run?
Yes. However, one could decide to add this into a profile script so it’s executed in PowerShell session start.

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles?vi...