Skip to content

Commit 6a8e9b7

Browse files
authored
Merge branch 'main' into edlunagu/patch-1
2 parents de511c2 + 9d9cc29 commit 6a8e9b7

File tree

102 files changed

+3661
-781
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

102 files changed

+3661
-781
lines changed

.openpublishing.redirection.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7133,6 +7133,16 @@
71337133
"redirect_url": "/exchange/exchange-hybrid",
71347134
"redirect_document_id": false
71357135
},
7136+
{
7137+
"source_path": "exchange/virtual-folder/exchange/Get-PhishSimOverrideRule.md",
7138+
"redirect_url": "/powershell/module/exchange/get-exophishsimoverriderule",
7139+
"redirect_document_id": false
7140+
},
7141+
{
7142+
"source_path": "exchange/virtual-folder/exchange/Get-SecOpsOverrideRule.md",
7143+
"redirect_url": "/powershell/module/exchange/get-exosecopsoverriderule",
7144+
"redirect_document_id": false
7145+
},
71367146
{
71377147
"source_path": "skype/virtual-folder/skype/Disable-CsOnlineSipDomain.md",
71387148
"redirect_url": "/powershell/module/teams/Disable-CsOnlineSipDomain",

exchange/docs-conceptual/disable-access-to-exchange-online-powershell.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "Enable or disable access to Exchange Online PowerShell"
33
ms.author: chrisda
44
author: chrisda
55
manager: deniseb
6-
ms.date: 5/16/2024
6+
ms.date: 12/11/2024
77
ms.audience: Admin
88
audience: Admin
99
ms.topic: article
@@ -18,7 +18,7 @@ description: "Admins can learn how to disable or enable access to Exchange Onlin
1818

1919
Exchange Online PowerShell is the administrative interface that enables admins to manage the Exchange Online part of a Microsoft 365 organization from the command line (including many security features in Exchange Online Protection and Microsoft Defender for Office 365).
2020

21-
By default, all accounts in Microsoft 365 are allowed to use Exchange Online PowerShell. This access doesn't give users administrative capabilities in an organization. They're still limited by [role based access control (RBAC)](/exchange/permissions-exo/permissions-exo) (for example, they can configure settings on their own mailbox or manage distribution groups that they own, but not much else).
21+
By default, all accounts in Microsoft 365 are allowed to use Exchange Online PowerShell. This access doesn't give users administrative capabilities. They're still limited by [role based access control (RBAC)](/exchange/permissions-exo/permissions-exo). For example, they can configure some settings on their own mailbox and manage distribution groups that they own, but not much else.
2222

2323
Admins can use the procedures in this article to disable or enable a user's ability to connect to Exchange Online PowerShell.
2424

@@ -33,7 +33,7 @@ Admins can use the procedures in this article to disable or enable a user's abil
3333
- [Microsoft Entra RBAC](/microsoft-365/admin/add-users/about-admin-roles): Membership in the **Exchange Administrator** or **Global Administrator**<sup>\*</sup> roles gives users the required permissions *and* permissions for other features in Microsoft 365.
3434

3535
> [!IMPORTANT]
36-
> In your haste to quickly and globally disable PowerShell access in your cloud-based organization, beware of commands like `Get-User | Set-User -EXOModuleEnabled $false` without considering admin accounts. Use the procedures in this article to selectively remove PowerShell access, or preserve access for those who need it by using the following syntax in your global removal command: `Get-User | Where-Object {$_.UserPrincipalName -ne '[email protected]' -and $_.UserPrincipalName -ne '[email protected]'...} | Set-User -EXOModuleEnabled $false`.
36+
> In your haste to quickly and globally disable PowerShell access in your cloud-based organization, beware of commands like `Get-User | Set-User -EXOModuleEnabled $false` without considering admin accounts. Use the procedures in this article to **selectively** remove PowerShell access, or **preserve access for those who need it** by using the following syntax in your global removal command: `Get-User | Where-Object {$_.UserPrincipalName -ne '[email protected]' -and $_.UserPrincipalName -ne '[email protected]'...} | Set-User -EXOModuleEnabled $false`.
3737
>
3838
> If you accidentally lock yourself out of PowerShell access, create a new admin account in the Microsoft 365 admin center, and then use that account to give yourself PowerShell access using the procedures in this article.
3939
>
@@ -62,7 +62,7 @@ Set-User -Identity [email protected] -EXOModuleEnabled $true
6262

6363
To prevent access to Exchange Online PowerShell for a specific group of existing users, you have the following options:
6464

65-
- **Filter users based on an existing attribute**: This method assumes that the target user accounts all share a unique filterable attribute. Some attributes, such as Title, Department, address information, and telephone number, are available only from the **Get-User** cmdlet. Other attributes, such as CustomAttribute1 to CustomAttribute15, are available only from the **Get-Mailbox** cmdlet.
65+
- **Filter users based on an existing attribute**: This method assumes that the target user accounts all share a unique filterable attribute. Some attributes (for example, Title, Department, address information, and telephone number) are available only from the **Get-User** cmdlet. Other attributes (for example, CustomAttribute1 to CustomAttribute15) are available only from the **Get-Mailbox** cmdlet.
6666
- **Use a list of specific users**: After you generate the list of specific users, you can use that list to disable their access to Exchange Online PowerShell.
6767

6868
### Filter users based on an existing attribute
@@ -107,6 +107,9 @@ $NoPS | foreach {Set-User -Identity $_ -EXOModuleEnabled $false}
107107

108108
## View the Exchange Online PowerShell access status for users
109109

110+
> [!TIP]
111+
> The newer `EXOModuleEnabled` property isn't available to use with the *Filter* parameter on the **Get-User** cmdlet, but the values of the `EXOModuleEnabled` property and the older `RemotePowerShellEnabled` property are always the same, so use the `RemotePowerShellEnabled` property with the *Filter* parameter on the **Get-User** cmdlet.
112+
110113
To view the PowerShell access status for a specific user, replace \<UserIdentity\> with the name or user principal name (UPN) of the user, and run the following command:
111114

112115
```powershell
@@ -122,11 +125,11 @@ Get-User -ResultSize unlimited | Format-Table -Auto DisplayName,EXOModuleEnabled
122125
To display all users who don't have access to Exchange Online PowerShell, run the following command:
123126

124127
```powershell
125-
Get-User -ResultSize unlimited -Filter 'EXOModuleEnabled -eq $false'
128+
Get-User -ResultSize unlimited -Filter 'RemotePowerShellEnabled -eq $false'
126129
```
127130

128131
To display all users who have access to Exchange Online PowerShell, run the following command:
129132

130133
```powershell
131-
Get-User -ResultSize unlimited -Filter 'EXOModuleEnabled -eq $true'
134+
Get-User -ResultSize unlimited -Filter 'RemotePowerShellEnabled -eq $true'
132135
```

exchange/docs-conceptual/recipient-filters.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "Recipient filters in Exchange PowerShell commands"
33
ms.author: chrisda
44
author: chrisda
55
manager: deniseb
6-
ms.date: 9/7/2023
6+
ms.date: 09/07/2023
77
ms.audience: ITPro
88
audience: ITPro
99
ms.topic: reference

exchange/docs-conceptual/recipientfilter-properties.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "Filterable properties for the RecipientFilter parameter"
33
ms.author: chrisda
44
author: chrisda
55
manager: deniseb
6-
ms.date:
6+
ms.date: 09/07/2023
77
ms.audience: ITPro
88
audience: ITPro
99
ms.topic: article

exchange/exchange-ps/exchange/Add-VivaModuleFeaturePolicy.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,35 +109,35 @@ This example adds a policy for the Reflection feature in Viva Insights. The poli
109109
Add-VivaModuleFeaturePolicy -CategoryId <category_id> -Name DisableCategoryForAll -IsCategoryEnabled $false -Everyone
110110
```
111111

112-
This example adds a policy for the `<cateogry_id>` category in Viva. The policy disables the category (effectively all features under the category) for all users in the organization.
112+
This example adds a policy for the `<category_id>` category in Viva. The policy disables the category (effectively all features under the category) for all users in the organization.
113113

114114
### Example 6
115115
```powershell
116116
Add-VivaModuleFeaturePolicy -CategoryId <category_id> -Name MultipleGroups -IsCategoryEnabled $false -GroupIds [email protected],[email protected],57680382-61a5-4378-85ad-f72095d4e9c3
117117
```
118118

119-
This example adds a policy for the `<cateogry_id>` category in Viva. The policy disables the category (effectively all features under the category) for all users in the specified groups.
119+
This example adds a policy for the `<category_id>` category in Viva. The policy disables the category (effectively all features under the category) for all users in the specified groups.
120120

121121
### Example 7
122122
```powershell
123123
Add-VivaModuleFeaturePolicy -CategoryId <category_id> -Name MultipleUsers -IsCategoryEnabled $false -UserIds [email protected],[email protected]
124124
```
125125

126-
This example adds a policy for the `<cateogry_id>` category in Viva. The policy disables the category (effectively all features under the category) for the specified users.
126+
This example adds a policy for the `<category_id>` category in Viva. The policy disables the category (effectively all features under the category) for the specified users.
127127

128128
### Example 8
129129
```powershell
130130
Add-VivaModuleFeaturePolicy -CategoryId <category_id> -Name UsersAndGroups -IsCategoryEnabled $false -GroupIds [email protected],[email protected],57680382-61a5-4378-85ad-f72095d4e9c3 -UserIds [email protected],[email protected]
131131
```
132132

133-
This example adds a policy for the `<cateogry_id>` category in Viva. The policy disables the category (effectively all features under the category) for the specified users and group members.
133+
This example adds a policy for the `<category_id>` category in Viva. The policy disables the category (effectively all features under the category) for the specified users and group members.
134134

135135
### Example 9
136136
```powershell
137137
Add-VivaModuleFeaturePolicy -CategoryId <category_id> -Name "Disable Category For All" -IsCategoryEnabled $false -Everyone
138138
```
139139

140-
This example adds a policy for the `<cateogry_id>` category in Viva where the policy name is with spaces. The policy disables the category (effectively all features under the category) for all users in the organization.
140+
This example adds a policy for the `<category_id>` category in Viva where the policy name is with spaces. The policy disables the category (effectively all features under the category) for all users in the organization.
141141

142142
## PARAMETERS
143143

exchange/exchange-ps/exchange/Export-ContentExplorerData.md

Lines changed: 57 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,12 @@ For information about the parameter sets in the Syntax section below, see [Excha
2323
## SYNTAX
2424

2525
```
26-
Export-ContentExplorerData
26+
Export-ContentExplorerData [-TagName] <String> [-TagType] <String>
27+
[-Aggregate]
2728
[[-PageCookie] <String>]
2829
[[-PageSize] <Int32>]
2930
[[-SiteUrl] <String>]
3031
[[-UserPrincipalName] <String>]
31-
[-TagName] <String>
32-
[-TagType] <String>
3332
[[-Workload] <String>]
3433
[<CommonParameters>]
3534
```
@@ -42,6 +41,14 @@ The output of this cmdlet contains the following information:
4241
- RecordsReturned: The number of records returned in the query.
4342
- PageCookie: Used to get the next set of records when MorePagesAvailable is True.
4443

44+
The following list describes best practices for scripts using this cmdlet:
45+
46+
- We recommend not using a single script to export multiple SITs/Labels. Instead, create a script for one SIT/Label, and then re-use the same script for each SIT/Label in each workload as required.
47+
- When retrying the script, make sure to reconnect to the session first. The session's token expires after about an hour, which can cause the cmdlet to fail. To fix this issue, reconnect to the session before retrying the script. If the script fails, restart it using the last page cookie returned to continue the export from where it left off.
48+
49+
> [!TIP]
50+
> To support unattended scripts that run for a long time, you can use [certificate-based authentication (CBA)](https://learn.microsoft.com/powershell/exchange/app-only-auth-powershell-v2).
51+
4552
To use this cmdlet in Security & Compliance PowerShell, you need to be assigned permissions. For more information, see [Permissions in the Microsoft Purview compliance portal](https://learn.microsoft.com/purview/microsoft-365-compliance-center-permissions).
4653

4754
## EXAMPLES
@@ -69,6 +76,51 @@ This example exports records for the specified sensitive info type for all workl
6976

7077
## PARAMETERS
7178

79+
### -TagType
80+
The TagType parameter specifies the type of label to export file details from. Valid values are:
81+
82+
- Retention
83+
- SensitiveInformationType
84+
- Sensitivity
85+
- TrainableClassifier
86+
87+
```yaml
88+
Type: String
89+
Parameter Sets: (All)
90+
Aliases:
91+
Applicable: Security & Compliance
92+
93+
Required: True
94+
Position: 5
95+
Default value: None
96+
Accept pipeline input: False
97+
Accept wildcard characters: False
98+
```
99+
100+
### -Aggregate
101+
The Aggregate parameter switch returns the folder level aggregated numbers instead of returning details at the item level. You don't need to specify a value with this switch.
102+
103+
Using this switch significantly reduces the export time. To download the items in a folder, run this cmdlet for specific folders.
104+
105+
When you use this switch with the TagName, TagType and Workload parameters, the command returns the following information:
106+
107+
- SiteUlrs: OneDrive and SharePoint.
108+
- UPNs: Exchange Online and Teams.
109+
- The count of items stamped with that tag.
110+
111+
```yaml
112+
Type: SwitchParameter
113+
Parameter Sets: (All)
114+
Aliases:
115+
Applicable: Security & Compliance
116+
117+
Required: False
118+
Position: Named
119+
Default value: False
120+
Accept pipeline input: False
121+
Accept wildcard characters: False
122+
```
123+
72124
### -PageCookie
73125
The PageCookie parameter specifies whether to get more data when the value of the MorePagesAvailable property in the command output is True. If you don't use the PageSize parameter, a maximum of 100 records are returned. If you use the PageSize parameter, a maximum of 10000 records can be returned.
74126
@@ -88,6 +140,8 @@ Accept wildcard characters: False
88140
### -PageSize
89141
The PageSize parameter specifies the maximum number of records to return in a single query. Valid input for this parameter is an integer between 1 and 10000. The default value is 100.
90142
143+
**Note**: In empty folders or folders with few files, this parameter can cause the command to run for a long time as it tries to get the PageSize count of the results. To prevent this issue, the command returns data from 5 folders or the number of records specified by the PageSize parameter, whichever completes first. For example, if there are 10 folders with 1 record each, the command returns 5 records of the top 5 folders. In the next execution using page cookie, it returns 5 records from the remaining 5 folders, even if the PageSize value is 10.
144+
91145
```yaml
92146
Type: Int32
93147
Parameter Sets: (All)
@@ -135,27 +189,6 @@ Accept pipeline input: False
135189
Accept wildcard characters: False
136190
```
137191
138-
### -TagType
139-
The TagType parameter specifies the type of label to export file details from. Valid values are:
140-
141-
- Retention
142-
- SensitiveInformationType
143-
- Sensitivity
144-
- TrainableClassifier
145-
146-
```yaml
147-
Type: String
148-
Parameter Sets: (All)
149-
Aliases:
150-
Applicable: Security & Compliance
151-
152-
Required: True
153-
Position: 5
154-
Default value: None
155-
Accept pipeline input: False
156-
Accept wildcard characters: False
157-
```
158-
159192
### -UserPrincipalName
160193
The UserPrincipalName parameter specifies the user account in UPN format to export message details from. An example UPN value is [email protected].
161194

exchange/exchange-ps/exchange/Get-AuthenticationPolicy.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ For information about the parameter sets in the Syntax section below, see [Excha
2121

2222
```
2323
Get-AuthenticationPolicy [[-Identity] <AuthPolicyIdParameter>]
24+
[-AllowLegacyExchangeTokens]
2425
[-TenantId <String>]
2526
[<CommonParameters>]
2627
```
@@ -44,6 +45,13 @@ Get-AuthenticationPolicy -Identity "Engineering Group"
4445

4546
This example returns detailed information for the authentication policy named Engineering Group.
4647

48+
### Example 3
49+
```powershell
50+
Get-AuthenticationPolicy -AllowLegacyExchangeTokens
51+
```
52+
53+
In Exchange Online, this example specifies whether legacy Exchange tokens for Outlook add-ins are allowed in the organization.
54+
4755
## PARAMETERS
4856

4957
### -Identity
@@ -66,6 +74,31 @@ Accept pipeline input: False
6674
Accept wildcard characters: False
6775
```
6876
77+
### -AllowLegacyExchangeTokens
78+
This parameter is available only in the cloud-based service.
79+
80+
The AllowLegacyExchangeTokens switch specifies whether legacy Exchange tokens are allowed for Outlook add-ins in your organization. You don't need to specify a value with this switch.
81+
82+
Legacy Exchange tokens include Exchange user identity and callback tokens.
83+
84+
**Important**:
85+
86+
- Currently, the AllowLegacyExchangeTokens switch only specifies whether legacy Exchange tokens are allowed in your organization. For now, disregard the empty Allowed and Blocked arrays returned by the switch.
87+
- Legacy Exchange tokens will eventually be blocked by default in all cloud-based organizations. For more information, see [Nested app authentication and Outlook legacy tokens deprecation FAQ](https://learn.microsoft.com/office/dev/add-ins/outlook/faq-nested-app-auth-outlook-legacy-tokens#what-is-the-timeline-for-shutting-down-legacy-exchange-online-tokens).
88+
89+
```yaml
90+
Type: SwitchParameter
91+
Parameter Sets: (All)
92+
Aliases:
93+
Applicable: Exchange Online, Exchange Online Protection
94+
95+
Required: False
96+
Position: Named
97+
Default value: True
98+
Accept pipeline input: False
99+
Accept wildcard characters: False
100+
```
101+
69102
### -TenantId
70103
This parameter is available only in the cloud-based service.
71104

exchange/exchange-ps/exchange/Get-ClientAccessRule.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ms.reviewer:
1313

1414
## SYNOPSIS
1515
> [!NOTE]
16-
> Beginning in October 2022, we've disabled access to client access rules for all existing Exchange Online organizations that weren't using them. In September 2024, support for client access rules will end for all Exchange Online organizations. For more information, see [Update: Deprecation of Client Access Rules in Exchange Online](https://techcommunity.microsoft.com/t5/exchange-team-blog/update-deprecation-of-client-access-rules-in-exchange-online/ba-p/3790165).
16+
> Beginning in October 2022, client access rules were deprecated for all Exchange Online organizations that weren't using them. Client access rules will be deprecated for all remaining organizations on September 1, 2025. If you choose to turn off client access rules before the deadline, the feature will be disabled in your organization. For more information, see [Update on Client Access Rules Deprecation in Exchange Online](https://techcommunity.microsoft.com/blog/exchange/update-on-client-access-rules-deprecation-in-exchange-online/4354809).
1717
1818
This cmdlet is functional only in Exchange Server 2019 and in the cloud-based service. Some parameters and settings may be exclusive to one environment or the other.
1919

exchange/exchange-ps/exchange/Get-ComplianceTag.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ For information about the parameter sets in the Syntax section below, see [Excha
2323
```
2424
Get-ComplianceTag [[-Identity] <ComplianceRuleIdParameter>]
2525
[-IncludingLabelState]
26+
[-PriorityCleanup]
2627
[<CommonParameters>]
2728
```
2829

@@ -83,6 +84,22 @@ Accept pipeline input: False
8384
Accept wildcard characters: False
8485
```
8586
87+
### -PriorityCleanup
88+
{{ Fill PriorityCleanup Description }}
89+
90+
```yaml
91+
Type: SwitchParameter
92+
Parameter Sets: (All)
93+
Aliases:
94+
Applicable: Security & Compliance
95+
96+
Required: False
97+
Position: Named
98+
Default value: None
99+
Accept pipeline input: False
100+
Accept wildcard characters: False
101+
```
102+
86103
### CommonParameters
87104
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/p/?LinkID=113216).
88105

exchange/exchange-ps/exchange/Get-DlpCompliancePolicy.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ For information about the parameter sets in the Syntax section below, see [Excha
2222

2323
```
2424
Get-DlpCompliancePolicy [[-Identity] <PolicyIdParameter>]
25+
[-DisplayName <String>]
2526
[-DistributionDetail]
2627
[-ForceValidate <Boolean>]
2728
[-IncludeExtendedProperties <Boolean>]
@@ -88,6 +89,22 @@ Accept pipeline input: True
8889
Accept wildcard characters: False
8990
```
9091
92+
### -DisplayName
93+
{{ Fill DisplayName Description }}
94+
95+
```yaml
96+
Type: String
97+
Parameter Sets: (All)
98+
Aliases:
99+
Applicable: Security & Compliance
100+
101+
Required: False
102+
Position: Named
103+
Default value: None
104+
Accept pipeline input: False
105+
Accept wildcard characters: False
106+
```
107+
91108
### -DistributionDetail
92109
The DistributionDetail switch returns detailed policy distribution information in the DistributionResults property. You don't need to specify a value with this switch.
93110

0 commit comments

Comments
 (0)