Skip to content

[AutoPublish] main to live - 08/08 19:57 PDT | 08/09 08:27 IST #13027

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
Aug 9, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 71 additions & 18 deletions exchange/docs-conceptual/exchange-online-powershell-v2.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: About the Exchange Online PowerShell V3 module
ms.author: chrisda
author: chrisda
manager: deniseb
ms.date: 07/31/2025
ms.date: 08/08/2025
ms.audience: Admin
audience: Admin
ms.topic: article
Expand Down Expand Up @@ -269,28 +269,79 @@ Now you can do the [regular PowerShell prerequisites](#prerequisites-for-the-exc

- **Windows PowerShell 5.1**:
- All versions of the module are supported.
- Version 2.0.5 (May 2021) or later versions of the module require the Microsoft .NET Framework 4.7.2 or later to connect. Otherwise, you get a `System.Runtime.InteropServices.OSPlatform` error. For more information about versions of Windows that support the .NET Framework 4.7.2, see [this article](/dotnet/framework/migration-guide/versions-and-dependencies#net-framework-472).

> [!TIP]
> Current versions of Windows include the required versions of .NET and/or the .NET Framework, so you don't need to install .NET or the .NET Framework to use the module in Windows PowerShell 5.1.
- Current versions of Windows include the required versions of the .NET Framework, so you don't need to install the .NET Framework to use the module in Windows PowerShell 5.1.

- **PowerShell 7**:
- Module versions 3.5.1 (July 2024) or later require PowerShell 7 version 7.4.0 (November 2023) or later. Earlier versions of PowerShell 7 might encounter compatibility issues due to missing .NET 8.0 assemblies (v3.5.1 is built on .NET 8.0).
- Module versions 2.0.4 (February 2021) to 3.5.0 (May 2024) are supported in PowerShell 7 version 7.0.3 (July 2020) or later.
- Module versions 3.5.0 (May 2024) or later require PowerShell 7.4.0 (November 2023) or later due to .NET 8.0 assembly dependencies. Earlier versions of PowerShell 7 might encounter compatibility issues (PowerShell 7.3.6 is more compatible than 7.3.7).
- Module versions 3.0.0 (September 2022) to 3.4.0 (October 2023) require PowerShell 7.2.0 (November 2021) or later due to .NET 6.0 assembly dependencies in REST API cmdlets and connections.
- Support for the module in PowerShell 7 started with version 2.0.4 (February 2021) in PowerShell 7.0.3 (July 2020).

Specific module version support in Windows depends on Windows PowerShell support and .NET Framework and/or .NET support as described in the following list:

> [!TIP]
> As stated previously, only REST API connections are supported in Exchange Online PowerShell and Security & Compliance PowerShell:
>
> - Version 2.0.4 of the module (February 2021) supports the REST API only for the [nine exclusive **Get-EXO\*** cmdlets](#cmdlets-in-the-exchange-online-powershell-module).
> - Version 2.0.5 of the module (May 2021) offers partial support for REST API cmdlets only in Exchange Online PowerShell.
> - Version 3.0.0 (September 2022) is the first version of the module that fully supports REST API cmdlets in Exchange Online PowerShell.
> - Version 3.2.0 (June 2023) is the first version of the module that fully supports REST API cmdlets in Security & Compliance PowerShell.
- **Windows 11**:

|Module version|PowerShell version|.NET requirement|
|---|---|---|
|2.0.5 or later|5.1|.NET Framework 4.7.2 (4.8.x is included, so you don't need to install the .NET Framework)|
|3.5.0 or later|7.4.0 or later|.NET 8.0<br/>Included in 24H2 or later.|
|3.0.0 to 3.4.0|7.2.0 to 7.3.7 (or later)|.NET 6.0 (7.2.x)<br/>.NET 7.0 (7.3.x)|

PowerShell 7.2.0 is the earliest supported version in Windows 11.

- **Windows Server 2022**:

|Module version|PowerShell version|.NET requirement|
|---|---|---|
|2.0.5 or later|5.1|.NET Framework 4.7.2 (4.8 is included, so you don't need to install the .NET Framework)|
|3.5.0 or later|7.4.0 or later|.NET 8.0|
|3.0.0 to 3.4.0|7.2.0 to 7.3.7 (or later)|.NET 6.0 (7.2.x)<br/>.NET 7.0 (7.3.x)|

Windows PowerShell requirements and module support **in older versions of Windows** are described in the following list:
PowerShell 7.2.0 (.NET 6.0) is the earliest supported version in Windows Server 2022.

- Windows 10¹
- Windows 8.1² ³
- Windows Server 2012 or Windows Server 2012 R2² ³
- Windows 7 Service Pack 1 (SP1)² ⁴ ⁵
- Windows Server 2008 R2 SP1² ⁴ ⁵
- **Windows 10**:

¹ Windows 10 Anniversary Update (version 1607 from August 2016) is the earliest version of Windows 10 that's reliably compatible with the .NET Framework 4.7.2 (v2.0.5 or later versions of the module in Windows PowerShell 5.1).<br/>
² Support for this version of Windows is over. This version of Windows is supported only in Azure virtual machines.<br/>
³ PowerShell 7 on this version of Windows requires a compatible version of .NET Core or .NET runtime and the [Windows 10 Universal C Runtime (CRT)](https://support.microsoft.com/topic/c0514201-7fe6-95a3-b0a5-287930f3560c). The last officially supported version of PowerShell 7 on this version of Windows is 7.2 (7.2.19 from August 2024), which means the last supported version of the module in PowerShell 7 is v3.5.0 (May 2024).<br/>
⁴ The latest version of the module supported on this version of Windows is v2.0.3 (September 2020).<br/>
⁵ Windows PowerShell 5.1 on this version of Windows requires the .NET Framework 4.5 or later and the Windows Management Framework 5.1. For more information, see [Windows Management Framework 5.1](https://aka.ms/wmf5download).
|Module version|PowerShell version|Supported Windows version|.NET requirement|
|---|---|---|---|
|2.0.5 or later|5.1|Anniversary Update (version 1607; August 2016) or later|.NET Framework 4.7.2<br/>April 2018 Update (version 1803) or later includes the .NET Framework 4.7.2, so you don't need to download it.|
|3.5.0 or later|7.4.0 or later|October 2018 Update (version 1809) or later |.NET 8.0|
|3.0.0 to 3.4.0|7.2.0 to 7.3.7 (or later)|October 2018 Update (version 1809) or later|.NET 6.0 (7.2.x)<br/>.NET 7.0 (7.3.x)|
|2.0.4 and 2.0.5|7.0.3 to 7.1.5 (or later)|Anniversary Update (version 1607; August 2016) or later|.NET Core 3.1 (7.0.x)<br/>.NET 5.0 (7.1.x)|

- **Windows Server 2016** and **Windows Server 2019**:

|Module version|PowerShell version|.NET requirement|
|---|---|---|
|2.0.5 or later|5.1|.NET Framework 4.7.2<br/>Included in Windows Server 2019.|
|3.5.0 or later|7.4.0 or later|.NET 8.0|
|3.0.0 to 3.4.0|7.2.0 to 7.3.7 (or later)|.NET 6.0 (7.2.x)<br/>.NET 7.0 (7.3.x)|
|2.0.4 and 2.0.5|7.0.3 to 7.1.5 (or later)|.NET Core 3.1 (7.0.x)<br/>.NET 5.0 (7.1.x)|

- **Windows 8.1**, **Windows Server 2012**, and **Windows Server 2012 R2**:

|Module version|PowerShell version|.NET requirement|
|---|---|---|
|2.0.5 or later|5.1|.NET Framework 4.7.2|
|3.0.0 to 3.4.0|7.2.x|.NET 6.0|
|2.0.4 and 2.0.5|7.0.3 to 7.1.5 (or later)|.NET Core 3.1 (7.0.x)<br/>.NET 5.0 (7.1.x)|

PowerShell 7.2.22 (.NET 6.0) is the latest supported version in Windows 8.1, Windows Server 2012, and Windows Server 2012 R2.

- **Windows 7.1 SP1** and **Windows Server 2008 R2 SP1**:

|Module version|PowerShell version|.NET requirement|
|---|---|---|
|2.0.3|5.1|.NET Framework 4.7.1|

> [!NOTE]
> Although you can install this version of the module, you can't connect to Exchange Online PowerShell, because version 7.0.3 lacks support for REST API connections.
### Prerequisites for the Exchange Online PowerShell module

Expand All @@ -317,6 +368,8 @@ For more information about execution policies, see [About Execution Policies](/p

As of October 2023, REST API connections replaced basic authentication (remote PowerShell) connections in [Exchange Online PowerShell](https://techcommunity.microsoft.com/blog/exchange/deprecation-of-remote-powershell-in-exchange-online-%e2%80%93-re-enabling-or-extending-r/3779692) and [Security & Compliance PowerShell](https://techcommunity.microsoft.com/blog/exchange/deprecation-of-remote-powershell-rps-protocol-in-security-and-compliance-powersh/3815432). REST API connections don't require Basic authentication in WinRM.

Version 3.2.0 (June 2023) and later version of the module fully support REST API cmdlets in Exchange Online PowerShell and Security & Compliance PowerShell.

<a name='powershellget-for-rest-api-connections-in-windows'></a>

### PowerShellGet required in Windows
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ Accept wildcard characters: False

The DeliverMessageAfterScan parameter specifies whether to deliver email messages only after Safe Links scanning is complete. Valid values are:

- $true: Wait until Safe Links scanning is complete before delivering the message. This value is the default. Messages that contain malicious links are not delivered.
- $true: Wait until Safe Links scanning is complete before delivering the message. Messages that contain malicious links are not delivered. This value is the default.
- $false: If Safe Links scanning can't complete, deliver the message anyway.

```yaml
Expand Down