Skip to content

OOB publish main to live to roll back the repo to PR 12926 #12957

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 10 commits into from
Aug 1, 2025
  •  
  •  
  •  
9,657 changes: 1,311 additions & 8,346 deletions .openpublishing.redirection.exchange.json

Large diffs are not rendered by default.

726 changes: 363 additions & 363 deletions .openpublishing.redirection.skype.json

Large diffs are not rendered by default.

3,002 changes: 1 addition & 3,001 deletions .openpublishing.redirection.teams.json

Large diffs are not rendered by default.

43 changes: 15 additions & 28 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: 07/11/2025
ms.audience: Admin
audience: Admin
ms.topic: article
Expand Down Expand Up @@ -200,15 +200,9 @@ The procedures in this section explain how to install, update, and uninstall the

### Supported operating systems for the Exchange Online PowerShell module

The module is officially supported in PowerShell 7 on Windows, Linux, and Apple macOS:
Versions of the module since 2021 are officially supported in PowerShell 7 on Windows, Linux, and Apple macOS (PowerShell 7.0.3 or later).

- 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.

For more information about PowerShell 7, see [What is PowerShell?](/powershell/scripting/overview).

> [!TIP]
> All versions of the module are supported and compatible in Windows PowerShell 5.1.
For more information about PowerShell 7, see [Announcing PowerShell 7.0](https://devblogs.microsoft.com/powershell/announcing-PowerShell-7-0/).

#### Apple macOS

Expand Down Expand Up @@ -267,30 +261,23 @@ Now you can do the [regular PowerShell prerequisites](#prerequisites-for-the-exc

#### Windows

- **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).
All versions of the module are supported in Windows PowerShell 5.1.

> [!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.
PowerShell 7 on Windows requires version 2.0.4 or later.

- **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.
Version 2.0.5 or later of the module requires the Microsoft .NET Framework 4.7.2 or later to connect. Otherwise, you get a `System.Runtime.InteropServices.OSPlatform` error. This requirement shouldn't be an issue in current versions of Windows. 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).

Windows PowerShell requirements and module support **in older versions of Windows** are described in the following list:

- 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 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).
- Windows 8.1¹
- Windows Server 2012 or Windows Server 2012 R2¹
- Windows 7 Service Pack 1 (SP1)² ³ ⁴
- Windows Server 2008 R2 SP1² ³ ⁴

- ¹ PowerShell 7 on this version of Windows requires the [Windows 10 Universal C Runtime (CRT)](https://www.microsoft.com/download/details.aspx?id=50410).
- ² Support for this version of Windows is over. This version of Windows is supported only in Azure virtual machines.
- ³ This version of Windows supports only v2.0.3 or earlier versions of the module.
- ⁴ 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).

### Prerequisites for the Exchange Online PowerShell module

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
---
external help file: Microsoft.Exchange.ProvisioningAndMigration-Help.xml
online version: https://learn.microsoft.com/powershell/module/exchange/add-adpermission
applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019
title: Add-ADPermission
schema: 2.0.0
author: chrisda
external help file: Microsoft.Exchange.ProvisioningAndMigration-Help.xml
Locale: en-US
Module Name: ExchangePowerShell
ms.author: chrisda
online version: https://learn.microsoft.com/powershell/module/exchangepowershell/add-adpermission
schema: 2.0.0
title: Add-ADPermission
ms.reviewer:
---

# Add-ADPermission
Expand Down Expand Up @@ -89,15 +88,13 @@ This example assumes that another security mechanism is used to ensure the Recei
## PARAMETERS

### -Identity

> Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

The Identity parameter specifies the identity of the object that's getting permissions added. You can specify either the distinguished name (DN) of the object or the object's name if it's unique. If the DN or name contains spaces, enclose the name in quotation marks (").

```yaml
Type: ADRawEntryIdParameter
Parameter Sets: AccessRights, Owner, Instance
Parameter Sets: AccessRights, Owner
Aliases:
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

Required: True
Position: 1
Expand All @@ -106,16 +103,27 @@ Accept pipeline input: True
Accept wildcard characters: False
```

### -Instance
```yaml
Type: ADRawEntryIdParameter
Parameter Sets: Instance
Aliases:
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

> Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019
Required: False
Position: 1
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
```

### -Instance
The Instance parameter enables you to pass an entire object to the command to be processed. It's mainly used in scripts where an entire object must be passed to the command.

```yaml
Type: ADAcePresentationObject
Parameter Sets: Instance
Aliases:
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

Required: True
Position: Named
Expand All @@ -125,9 +133,6 @@ Accept wildcard characters: False
```

### -Owner

> Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

The Owner parameter specifies the owner of the Active Directory object. You can specify the following types of users or groups (security principals) for this parameter:

- Mailbox users
Expand All @@ -153,6 +158,7 @@ You can't use this parameter with the AccessRights or User parameters.
Type: SecurityPrincipalIdParameter
Parameter Sets: Owner
Aliases:
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

Required: True
Position: Named
Expand All @@ -162,9 +168,6 @@ Accept wildcard characters: False
```

### -User

> Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

The User parameter specifies who gets the permissions on the Active Directory object. You can specify the following types of users or groups (security principals) for this parameter:

- Mailbox users
Expand Down Expand Up @@ -193,8 +196,9 @@ You can't use this parameter with the Owner parameter.

```yaml
Type: SecurityPrincipalIdParameter
Parameter Sets: AccessRights, Instance
Parameter Sets: AccessRights
Aliases:
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

Required: True
Position: Named
Expand All @@ -203,10 +207,20 @@ Accept pipeline input: False
Accept wildcard characters: False
```

### -AccessRights
```yaml
Type: SecurityPrincipalIdParameter
Parameter Sets: Instance
Aliases:
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

> Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -AccessRights
The AccessRights parameter specifies the rights that you want to add for the user on the Active Directory object. Valid values include:

- AccessSystemSecurity
Expand Down Expand Up @@ -237,6 +251,7 @@ You can't use this parameter with the Owner parameter.
Type: ActiveDirectoryRights[]
Parameter Sets: AccessRights, Instance
Aliases:
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

Required: False
Position: Named
Expand All @@ -246,9 +261,6 @@ Accept wildcard characters: False
```

### -ChildObjectTypes

> Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

The ChildObjectTypes parameter specifies what type of object the permission should be applied to.

The ChildObjectTypes parameter can only be used if the AccessRights parameter is set to CreateChild or DeleteChild.
Expand All @@ -257,6 +269,7 @@ The ChildObjectTypes parameter can only be used if the AccessRights parameter is
Type: ADSchemaObjectIdParameter[]
Parameter Sets: AccessRights, Instance
Aliases:
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

Required: False
Position: Named
Expand All @@ -266,9 +279,6 @@ Accept wildcard characters: False
```

### -Confirm

> Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

The Confirm switch specifies whether to show or hide the confirmation prompt. How this switch affects the cmdlet depends on if the cmdlet requires confirmation before proceeding.

- Destructive cmdlets (for example, Remove-\* cmdlets) have a built-in pause that forces you to acknowledge the command before proceeding. For these cmdlets, you can skip the confirmation prompt by using this exact syntax: `-Confirm:$false`.
Expand All @@ -278,6 +288,7 @@ The Confirm switch specifies whether to show or hide the confirmation prompt. Ho
Type: SwitchParameter
Parameter Sets: (All)
Aliases: cf
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

Required: False
Position: Named
Expand All @@ -287,15 +298,13 @@ Accept wildcard characters: False
```

### -Deny

> Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

The Deny switch specifies that the permissions you're adding are Deny permissions. You don't need to specify a value with this switch.

```yaml
Type: SwitchParameter
Parameter Sets: AccessRights, Instance
Aliases:
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

Required: False
Position: Named
Expand All @@ -305,9 +314,6 @@ Accept wildcard characters: False
```

### -DomainController

> Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

The DomainController parameter specifies the domain controller that's used by this cmdlet to read data from or write data to Active Directory. You identify the domain controller by its fully qualified domain name (FQDN). For example, dc01.contoso.com.

The DomainController parameter isn't supported on Edge Transport servers. An Edge Transport server uses the local instance of Active Directory Lightweight Directory Services (AD LDS) to read and write data.
Expand All @@ -316,6 +322,7 @@ The DomainController parameter isn't supported on Edge Transport servers. An Edg
Type: Fqdn
Parameter Sets: (All)
Aliases:
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

Required: False
Position: Named
Expand All @@ -325,15 +332,13 @@ Accept wildcard characters: False
```

### -ExtendedRights

> Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

The ExtendedRights parameter specifies the extended rights needed to perform the operation.

```yaml
Type: ExtendedRightIdParameter[]
Parameter Sets: AccessRights, Instance
Aliases:
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

Required: False
Position: Named
Expand All @@ -343,9 +348,6 @@ Accept wildcard characters: False
```

### -InheritanceType

> Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

The InheritanceType parameter specifies how permissions are inherited. Valid values are:

- None
Expand All @@ -358,6 +360,7 @@ The InheritanceType parameter specifies how permissions are inherited. Valid val
Type: ActiveDirectorySecurityInheritance
Parameter Sets: AccessRights, Instance
Aliases:
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

Required: False
Position: Named
Expand All @@ -367,15 +370,13 @@ Accept wildcard characters: False
```

### -InheritedObjectType

> Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

The InheritedObjectType parameter specifies what kind of object inherits this access control entry (ACE).

```yaml
Type: ADSchemaObjectIdParameter
Parameter Sets: AccessRights, Instance
Aliases:
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

Required: False
Position: Named
Expand All @@ -385,9 +386,6 @@ Accept wildcard characters: False
```

### -Properties

> Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

The Properties parameter specifies what properties the object contains.

The Properties parameter can only be used if the AccessRights parameter is set to ReadProperty, WriteProperty or Self.
Expand All @@ -396,6 +394,7 @@ The Properties parameter can only be used if the AccessRights parameter is set t
Type: ADSchemaObjectIdParameter[]
Parameter Sets: AccessRights, Instance
Aliases:
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

Required: False
Position: Named
Expand All @@ -405,15 +404,13 @@ Accept wildcard characters: False
```

### -WhatIf

> Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

The WhatIf switch simulates the actions of the command. You can use this switch to view the changes that would occur without actually applying those changes. You don't need to specify a value with this switch.

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases: wi
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

Required: False
Position: Named
Expand Down
Loading