Install the Exchange Online PowerShell module from the PowerShell Gallery with Install-Module -Name ExchangeOnlineManagement. Then import it and connect to your tenant: installing the module does not by itself grant permission to run Exchange cmdlets.
Install the Exchange Online PowerShell module
Open PowerShell and run the following command to install the ExchangeOnlineManagement module from the PowerShell Gallery:
Install-Module -Name ExchangeOnlineManagement
For a current-user installation, you do not need to run PowerShell as an administrator. Installing for all users requires an elevated PowerShell session. Keep the installation scope consistent when you later update the module.
Microsoft’s module overview identifies the package and documents installation and compatibility details. The module is commonly called EXO V3, a name Microsoft says has been used since 2022.
#1 Best Overall
Check PowerShell and platform compatibility
Microsoft says every Exchange Online PowerShell module version is compatible with Windows PowerShell 5.1. PowerShell 7 compatibility depends on the module release, so check Microsoft’s current compatibility guidance before choosing or upgrading either version:
| Module version | Minimum PowerShell 7 version |
|---|---|
| 3.10.0 or later | 7.6.0 |
| 3.5.0 through 3.9.2 | 7.4.0 |
| 3.0.0 through 3.4.0 | 7.2.0 |
Microsoft documents PowerShell 7 support on Windows, Linux, and macOS, with platform-specific qualifications. If your task also involves Security & Compliance PowerShell, note that PowerShell 7 on Linux does not support Connect-IPPSSession; this limitation does not change the Exchange Online connection steps below.
Rank #2
- Book - powershell for sysadmins: workflow automation made easy
- Language: english
- Binding: paperback
Windows PowerShell 5.1 requirements
On Windows, REST API connections require PowerShellGet, which depends on PackageManagement. Microsoft warns that preview versions of either can cause connection problems. The module also requires PowerShell to be configured to run scripts; if script execution is disabled, Microsoft documents Set-ExecutionPolicy RemoteSigned as a prerequisite. Avoid changing execution policy more broadly than needed for your environment.
Import the module and connect
Installation adds the module; importing makes its commands available in the current PowerShell session. Use Connect-ExchangeOnline to authenticate. Microsoft says the module uses modern authentication, with or without multifactor authentication (MFA). See Microsoft’s connection guide for current options and session verification instructions.
-
Import the module:
Import-Module ExchangeOnlineManagement -
Connect, optionally specifying your sign-in name:
Connect-ExchangeOnline -UserPrincipalName admin@contoso.comReplace the example address with your own user principal name. You can also run
Connect-ExchangeOnlinewithout that parameter and follow the authentication flow. -
When finished, disconnect with the documented command:
Rank #4
Disconnect-ExchangeOnline
To verify the session, follow the connection guide’s verification instructions; connection state and available cmdlets depend on the authenticated account and the connected environment.
Understand what installation does—and does not—authorize
The module supplies Exchange Online PowerShell commands and handles authentication; it does not grant tenant roles. Exchange role-based access control (RBAC) determines which cmdlets and parameters the signed-in account can use. If a connection succeeds but a command is unavailable or access is denied, check the account’s assigned Exchange roles rather than reinstalling the module.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Best Value
Troubleshoot common installation and connection problems
PowerShellGet cannot install the module
If PowerShellGet is missing or too old to support the module format, update PowerShellGet, close and reopen PowerShell, then retry the installation. Reopening matters because the new package-management components may not load into the existing session.
The PowerShell Gallery repository is missing
If the default repository is not registered, Microsoft documents this command as a remedy:
Register-PSRepository -Default
Then retry the module installation.
Installation fails on older Windows configurations
In Windows PowerShell 5.1 on older Windows or .NET configurations, PowerShell Gallery downloads can fail because the gallery requires TLS 1.2. Microsoft notes that PowerShell 7 already uses TLS 1.2 or later. Treat this as a download/TLS issue rather than an Exchange permission problem.
Connection errors involve a profile path or WAM
Microsoft documents a special-character issue in the connecting account’s profile path that can interfere with connection. For Windows Web Account Manager (WAM)-related errors, -DisableWAM is available in module version 3.7.2 or later as a targeted troubleshooting option—not a default connection setting. Consult the connection guide before applying it.
Update an existing installation
Microsoft documents Update-Module -Name ExchangeOnlineManagement for updating an existing installation. Run it using the same scope as the original installation; if the module was installed for all users, use an elevated PowerShell session. Check the live compatibility table before updating when you use PowerShell 7, because module releases have different minimum PowerShell versions.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

