This is a General Availability (GA) release of the Exchange Online Powershell V3 module. Exchange Online cmdlets in this module are REST-backed and do not require Basic Authentication to be enabled in WinRM.
Please check the documentation here -
For issues related to the module, contact Microsoft support.

Minimum PowerShell version


There is a newer prerelease version of this module available.
See the version list below for details.

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name ExchangeOnlineManagement -RequiredVersion 3.3.0

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name ExchangeOnlineManagement -Version 3.3.0

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More



(c) 2021 Microsoft. All rights reserved.

Package Details


  • Microsoft Corporation


Exchange ExchangeOnline EXO EXOV2 EXOV3 Mailbox Management


Add-VivaModuleFeaturePolicy Get-ConnectionInformation Get-DefaultTenantBriefingConfig Get-DefaultTenantMyAnalyticsFeatureConfig Get-EXOCasMailbox Get-EXOMailbox Get-EXOMailboxFolderPermission Get-EXOMailboxFolderStatistics Get-EXOMailboxPermission Get-EXOMailboxStatistics Get-EXOMobileDeviceStatistics Get-EXORecipient Get-EXORecipientPermission Get-MyAnalyticsFeatureConfig Get-UserBriefingConfig Get-VivaInsightsSettings Get-VivaModuleFeature Get-VivaModuleFeatureEnablement Get-VivaModuleFeaturePolicy Remove-VivaModuleFeaturePolicy Set-DefaultTenantBriefingConfig Set-DefaultTenantMyAnalyticsFeatureConfig Set-MyAnalyticsFeatureConfig Set-UserBriefingConfig Set-VivaInsightsSettings Update-VivaModuleFeaturePolicy


Connect-ExchangeOnline Connect-IPPSSession Disconnect-ExchangeOnline


This module has no dependencies.

Release Notes

What is new in this release:

v3.3.0 :
   1.  Support to skip loading cmdlet help files with Connect-ExchangeOnline.
   2.  Global variable EXO_LastExecutionStatus can now be used to check the status of the last cmdlet that was executed.
   3.  Bug fixes in Connect-ExchangeOnline and Connect-IPPSSession.
   4.  Support of user controls enablement by policy for features that are onboarded to Viva feature access management.

Previous Releases:

v3.2.0 :
   1.  General Availability of new cmdlets:
       -  Updating Briefing Email Settings of a tenant (Get-DefaultTenantBriefingConfig and Set-DefaultTenantBriefingConfig)
       -  Updating Viva Insights Feature Settings of a tenant (Get-DefaultTenantMyAnalyticsFeatureConfig and Set-DefaultTenantMyAnalyticsFeatureConfig)
       -  View the features in Viva that support setting access management policies (Get-VivaModuleFeature)
       -  Create and manage Viva app feature policies
          -  Get-VivaModuleFeaturePolicy
          -  Add-VivaModuleFeaturePolicy
          -  Remove-VivaModuleFeaturePolicy
          -  Update-VivaModuleFeaturePolicy
       -  View whether or not a Viva feature is enabled for a specific user/group (Get-VivaModuleFeatureEnablement)

   2.  General Availability of REST based cmdlets for Security and Compliance PowerShell.
   3.  Support to get REST connection informations from Get-ConnectionInformation cmdlet and disconnect REST connections using Disconnect-ExchangeOnline cmdlet for specific connection(s).
   4.  Support to sign the temporary generated module with a client certificate to use the module in all PowerShell execution policies.
   5.  Bug fixes in Connect-ExchangeOnline.

v3.1.0 :
   1.  Support for providing an Access Token with Connect-ExchangeOnline.
   2.  Bug fixes in Connect-ExchangeOnline and Get-ConnectionInformation.
   3.  Bug fix in Connect-IPPSSession for connecting to Security and Compliance PowerShell using Certificate Thumbprint.

v3.0.0 :
   1.  General Availability of REST-backed cmdlets for Exchange Online which do not require WinRM Basic Authentication to be enabled.
   2.  General Availability of Certificate Based Authentication for Security and Compliance PowerShell cmdlets.
   3.  Support for System-Assigned and User-Assigned ManagedIdentities to connect to ExchangeOnline from Azure VMs, Azure Virtual Machine Scale Sets and Azure Functions.
   4.  Breaking changes
       -   Get-PSSession cannot be used to get information about the sessions created as PowerShell Remoting is no longer being used. The Get-ConnectionInformation cmdlet has been introduced instead, to get information about the existing connections to ExchangeOnline. Refer for more information.
       -   Certain cmdlets that used to prompt for confirmation in specific scenarios will no longer have this prompt and the cmdlet will run to completion by default.
       -   The format of the error returned from a failed cmdlet execution has been slightly modified. The Exception contains some additional data such as the exception type, and the FullyQualifiedErrorId does not contain the FailureCategory. The format of the error is subject to further modifications.
       -   Deprecation of the Get-OwnerlessGroupPolicy and Set-OwnerlessGroupPolicy cmdlets.

v2.0.5 :
   1. Manage ownerless Microsoft 365 groups through newly added cmdlets Get-OwnerlessGroupPolicy and Set-OwnerlessGroupPolicy.
   2. Add new cmdlets Get-VivaInsightsSettings and Set-VivaInsightsSettings for Global/ExchangeOnline/Teams administrators to control user access of Headspace features in Viva Insights.

v2.0.4 :
   1. Manage EXO using Linux devices along with Browser based SSO Authentication for enhanced interactive management experience. No need to enter UserName and password everytime you run the PowerShell script.
   2. Manage EXO using Apple Macintosh devices. Supported versions of Apple MAC OS are Mojave, Catalina & Big Sur. Steps for installing PowerShell on MAC OS is documented here -
   3. Real time policy & security enforcement in all user based authentication. Continuous Access Evaluation (CAE) has been enabled in EXO V2 Module. Read more about CAE here -
   4. Use parameter InlineCredential to pass credentials of Non-MFA accounts on the go without the need of storing credentials in a variable
   5. More secure method to fetch access token using safe Reply URLs.
   6. Breaking change :- Change in cmdlet signature to configure MyAnalytics access for users in your tenant. Get/Set-UserAnalyticsConfig has been replaced by Get/Set-MyAnalyticsFeatureConfig Additionally, you can have more granular controls and configure access at feature level. For more steps read here -

v2.0.3 :
   1. General availability of Certificate Based Authentication feature which enables using Modern Authentication in Unattended Scripting or background automation scenarios.
   2. Certificate Based Authentication accepts Certificate File directly from terminal thus enabling certificate files to be stored in Azure Key Vault and being fetched Just-In-Time for enhanced security. See parameter Certificate in Connect-ExchangeOnline.
   3. Connect with Exchange Online and Security Compliance Center simultaneously in a single PowerShell window.
   4. Ability to restrict the PowerShell cmdlets imported in a session using CommandName parameter, thus reducing memory footprint in case of high usage PowerShell applications.
   5. Get-ExoMailboxFolderPermission now supports ExternalDirectoryObjectID in the Identity parameter.
   6. Optimized latency of first V2 Cmdlet call. (Lab results show first call latency has been reduced from 8 seconds to ~1 seconds. Actual results will depend on result size and Tenant environment.)

v1.0.1 :
   1. This is the General Availability (GA) version of EXO PowerShell V2 Module. It is stable and ready for being used in production environments.
   2. Get-ExoMobileDeviceStatistics cmdlet now supports Identity parameter.
   3. Improved reliability of session auto-connect in certain cases where script was executing for ~50minutes and threw "Cmdlet not found" error due to a bug in auto-reconnect logic.
   4. Fixed data-type issues of two commonly used attributed "User" and "MailboxFolderUser" for easy migration of scripts.
   5. Enhanced support for filters as it now supports 4 more operators - endswith, contains, not and notlike support. Please check online documentation for attributes which are not supported in filter string.



Version History

Version Downloads Last updated
3.5.1 47,976 7/10/2024
3.5.1-Preview2 8,776 6/25/2024
3.5.1-Preview1 6,576 6/4/2024
3.5.0 1,673,303 5/17/2024
3.5.0-Preview2 3,701 5/3/2024
3.4.2-Preview1 8,271 3/4/2024
3.4.1-Preview1 10,010 12/12/2023
3.4.0 7,884,701 10/10/2023
3.4.0-Preview1 1,908 9/25/2023
3.3.1-Preview1 766 9/18/2023
3.3.0 (current version) 1,629,415 9/7/2023
3.3.0-Preview1 3,925 8/4/2023
3.2.0 2,176,795 6/21/2023
3.2.0-Preview4 4,641 5/26/2023
3.2.0-Preview3 5,250 4/28/2023
3.2.0-Preview2 4,893 3/20/2023
3.2.0-Preview1 2,986 2/27/2023
3.1.0 2,135,799 1/9/2023
3.1.0-Preview2 1,876 12/19/2022
3.1.0-Preview1 1,488 12/5/2022
3.0.1-Preview1 1,760 11/14/2022
3.0.0 8,076,923 9/19/2022
2.0.6-Preview8 4,134 9/9/2022
2.0.6-Preview7 1,656,464 8/13/2022
2.0.6-Preview6 52,068 5/20/2022
2.0.6-Preview5 51,776 3/17/2022
2.0.6-preview4 3,401 1/13/2022
2.0.6-Preview3 11,824 10/20/2021
2.0.5 7,205,845 5/11/2021
2.0.5-Preview2 637 4/30/2021
2.0.5-Preview1 954 4/21/2021
2.0.4 574,819 2/5/2021
2.0.4-Preview9 2,054 1/19/2021
2.0.4-Preview8 257 1/4/2021
2.0.4-Preview6 23,298 11/6/2020
2.0.4-Preview2 106,620 9/22/2020
2.0.3 527,531 9/21/2020
2.0.3-Preview 8,850 6/30/2020
1.0.1 261,139 6/3/2020
0.4578.0 518,584 4/16/2020
0.4368.1 23,401 3/30/2020
0.3582.0 39,360 2/10/2020
0.3555.1 13,892 1/22/2020
0.3374.11 11,975 1/15/2020
0.3374.10 5,479 12/27/2019
0.3374.9 17,586 11/26/2019
0.3374.4 7,738 10/31/2019
0.3374.1 826 10/25/2019
0.3374.0 636 10/22/2019
Show less