Skip to content

Commit 62f9a7f

Browse files
authored
Merge branch 'main' into patch-1
2 parents cfce63c + ac25c15 commit 62f9a7f

34 files changed

+528
-108
lines changed

.github/workflows/AutoLabelMsftContributor.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
name: Auto label Microsoft contributors
23

34
permissions:
@@ -31,4 +32,5 @@ jobs:
3132
PayloadJson: ${{ needs.download-payload.outputs.WorkflowPayload }}
3233
secrets:
3334
AccessToken: ${{ secrets.GITHUB_TOKEN }}
34-
TeamReadAccessToken: ${{ secrets.ORG_READTEAMS_TOKEN }}
35+
ClientId: ${{ secrets.M365_APP_CLIENT_ID }}
36+
PrivateKey: ${{ secrets.M365_APP_PRIVATE_KEY }}

exchange/docs-conceptual/exchange-online-powershell-v2.md

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: About the Exchange Online PowerShell V3 module
33
ms.author: chrisda
44
author: chrisda
55
manager: deniseb
6-
ms.date: 10/28/2024
6+
ms.date: 02/25/2025
77
ms.audience: Admin
88
audience: Admin
99
ms.topic: article
@@ -613,14 +613,28 @@ Unless otherwise noted, the current release of the Exchange Online PowerShell mo
613613

614614
### Current release
615615

616+
#### Version 3.7.1
617+
618+
- Added a new property named `ExoExchangeSecurityDescriptor` to the output of **Get-EXOMailbox** that's similar to the `ExchangeSecurityDescriptor` property in the output of **Get-Mailbox**.
619+
- Added new cmdlets to support the Viva Org Insights Delegation feature:
620+
- **Add-VivaOrgInsightsDelegatedRole**
621+
- **Get-VivaOrgInsightsDelegatedRole**
622+
- **Remove-VivaOrgInsightsDelegatedRole**
623+
624+
### Previous releases
625+
626+
#### Version 3.7.0
627+
628+
- Integrated Web Account Manager (WAM) in authentication flows to enhance security.
629+
- Command line help for Exchange Online PowerShell cmdlets is no longer loaded by default. Use the _LoadCmdletHelp_ parameter in the **Connect-ExchangeOnline** command so help for Exchange Online PowerShell cmdlets is available to the **Get-Help** cmdlet.
630+
- Fixed connection issues with app only authentication in Security & Compliance PowerShell.
631+
616632
#### Version 3.6.0
617633

618634
- **Get-VivaModuleFeature** now returns information about the kinds of identities that the feature supports creating policies for (for example, users, groups, or the entire tenant).
619635
- Cmdlets for Viva feature access management now handle continuous access evaluation (CAE) claim challenges.
620636
- Added fix for compatibility issue with the Microsoft.Graph module.
621637

622-
### Previous releases
623-
624638
#### Version 3.5.1
625639

626640
- Bug fixes in **Get-EXOMailboxPermission** and **Get-EXOMailbox**.

exchange/docs-conceptual/whats-new-in-the-exo-module.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,20 @@ description: "Learn about the new features and functionality available in the la
2222

2323
This article lists new features in the Exchange Online PowerShell module that's used for connecting to Exchange Online PowerShell, Security & Compliance PowerShell, and standalone Exchange Online Protection (EOP) PowerShell. Features that are currently in preview are denoted with **(preview)**.
2424

25+
## January 2025
26+
27+
- [Version 3.7.1](https://www.powershellgallery.com/packages/ExchangeOnlineManagement/3.7.1)
28+
29+
For information about what's in this release, see [Version 3.7.1](exchange-online-powershell-v2.md#version-371).
30+
31+
## December 2024
32+
33+
- [Version 3.7.0](https://www.powershellgallery.com/packages/ExchangeOnlineManagement/3.7.0)
34+
35+
Starting with this version of the module, command line help for Exchange Online PowerShell cmdlets is no longer loaded by default. Use the _LoadCmdletHelp_ parameter in the **Connect-ExchangeOnline** command so help for Exchange Online PowerShell cmdlets is available to the **Get-Help** cmdlet.
36+
37+
For information about what's in this release, see [Version 3.7.0](exchange-online-powershell-v2.md#version-370).
38+
2539
## September 2024
2640

2741
- [Version 3.6.0](https://www.powershellgallery.com/packages/ExchangeOnlineManagement/3.6.0)

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,13 @@ The AllowLegacyExchangeTokens switch specifies whether legacy Exchange tokens ar
8181
8282
Legacy Exchange tokens include Exchange user identity and callback tokens.
8383
84+
This switch also specifies a date and time sometime within the past seven days when an add-in was either allowed or blocked from acquiring a token.
85+
8486
**Important**:
8587
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+
- An update is being deployed to enable the AllowLegacyExchangeTokens switch to specify any add-in that requested an Exchange token from the last seven days. For more information, see [Get the status of legacy Exchange Online tokens and add-ins that use them](https://learn.microsoft.com/office/dev/add-ins/outlook/turn-exchange-tokens-on-off#get-the-status-of-legacy-exchange-online-tokens-and-add-ins-that-use-them).
89+
- The AllowLegacyExchangeTokens switch returns `Not Set` if tokens haven't been explicitly allowed or blocked in your organization using the _AllowLegacyExchangeTokens_ or _BlockLegacyExchangeTokens_ parameters on the **Set-AuthenticationPolicy** cmdlet. For more information, see [Get the status of legacy Exchange Online tokens and add-ins that use them](https://learn.microsoft.com/office/dev/add-ins/outlook/turn-exchange-tokens-on-off#get-the-status-of-legacy-exchange-online-tokens-and-add-ins-that-use-them).
90+
- As of February 17 2025, legacy Exchange tokens are blocked by default in all cloud-based organizations. Although tokens are blocked by default, the AllowLegacyExchangeTokens switch still returns `Not Set` if you haven't used the _AllowLegacyExchangeTokens_ or _BlockLegacyExchangeTokens_ parameters on the **Set-AuthenticationPolicy** cmdlet. 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).
8891

8992
```yaml
9093
Type: SwitchParameter

exchange/exchange-ps/exchange/Get-MessageTrackingReport.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,9 @@ You need to be assigned permissions before you can run this cmdlet. Although thi
4848
```powershell
4949
$Temp = Search-MessageTrackingReport -Identity "David Jones" -Recipients "wendy@contoso.com"
5050
51-
Get-MessageTrackingReport -Identity $Temp.MessageTrackingReportID -ReportTemplate Summary
51+
foreach ($reportId in $Temp.MessageTrackingReportId) {
52+
Get-MessageTrackingReport -Identity $reportId -ReportTemplate Summary -Status Delivered
53+
}
5254
```
5355

5456
This example gets the message tracking report for messages sent from one user to another. This example returns the summary of the message tracking report for a message that David Jones sent to Wendy Richardson.

exchange/exchange-ps/exchange/New-AppRetentionCompliancePolicy.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,9 @@ Accept wildcard characters: False
308308
```
309309

310310
### -PolicyRBACScopes
311+
312+
**Note**: Admin units aren't currently supported, so this parameter isn't functional. The information presented here is for informational purposes when support for admin units is released.
313+
311314
The PolicyRBACScopes parameter specifies the administrative units to assign to the policy. A valid value is the Microsoft Entra ObjectID (GUID value) of the administrative unit. You can specify multiple values separated by commas.
312315

313316
Administrative units are available only in Microsoft Entra ID P1 or P2. You create and manage administrative units in Microsoft Graph PowerShell.

exchange/exchange-ps/exchange/New-AutoSensitivityLabelRule.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,10 @@ The ContentContainsSensitiveInformation parameter specifies a condition for the
254254

255255
This parameter uses the basic syntax `@(@{Name="SensitiveInformationType1";[minCount="Value"],@{Name="SensitiveInformationType2";[minCount="Value"],...)`. For example, `@(@{Name="U.S. Social Security Number (SSN)"; minCount="2"},@{Name="Credit Card Number"; minCount="1"; minConfidence="85"})`.
256256

257+
Exact Data Match sensitive information types are supported only groups. For example:
258+
259+
`@(@{operator="And"; groups=@(@{name="Default"; operator="Or"; sensitivetypes=@(@{id="<<EDM SIT Id>>"; name="<<EDM SIT name>>"; maxcount="-1"; classifiertype="ExactMatch"; mincount="100"; confidencelevel="Medium"})})})`
260+
257261
```yaml
258262
Type: PswsHashtable[]
259263
Parameter Sets: (All)

exchange/exchange-ps/exchange/New-ProtectionAlert.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,15 @@ ms.reviewer:
1414
## SYNOPSIS
1515
This cmdlet is available only in Security & Compliance PowerShell. For more information, see [Security & Compliance PowerShell](https://learn.microsoft.com/powershell/exchange/scc-powershell).
1616

17-
Use the New-ProtectionAlert cmdlet to create alert policies in the Microsoft Purview compliance portal. Alert policies contain conditions that define the user activities to monitor, and the notification options for email alerts and entries in the Microsoft Purview compliance portal.
17+
Use the New-ProtectionAlert cmdlet to create alert policies in the Microsoft Purview compliance portal and the Microsoft Defender portal. Alert policies contain conditions that define the user activities to monitor, and the notification options for email alerts and entries.
18+
19+
> [!NOTE]
20+
> Although the cmdlet is available, you receive the following error if you don't have an enterprise license:
21+
>
22+
> _Creating advanced alert policies requires an Office 365 E5 subscription or Office 365 E3 subscription with an Office 365 Threat Intelligence or
23+
Office 365 EquivioAnalytics add-on subscription for your organization. With your current subscription, only single event alerts can be created._
24+
>
25+
> For more information, see [Alert policies in Microsoft 365](https://learn.microsoft.com/purview/alert-policies).
1826
1927
For information about the parameter sets in the Syntax section below, see [Exchange cmdlet syntax](https://learn.microsoft.com/powershell/exchange/exchange-cmdlet-syntax).
2028

exchange/exchange-ps/exchange/New-TenantAllowBlockListItems.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,15 @@ New-TenantAllowBlockListItems -Allow -ListType Url -ListSubType AdvancedDelivery
7474

7575
This example adds a URL allow entry for the specified third-party phishing simulation URL with no expiration. For more information, see [Configure the advanced delivery policy for third-party phishing simulations and email delivery to SecOps mailboxes](https://learn.microsoft.com/defender-office-365/advanced-delivery-policy-configure).
7676

77+
### Example 4
78+
```powershell
79+
New-TenantAllowBlockListItems -Allow -ListType Url -Entries abcd.fabrikam.com -RemoveAfter 45
80+
```
81+
82+
This example adds a URL allow entry for the specified domain with expiration as 45 days after last used date. This allow entry permits URLs identified as bulk, spam, high confidence spam, and phishing (not high confidence phishing).
83+
84+
For URLs identified as malware or high-confidence phishing, you need to submit the URLs Microsoft to create allow entries. For instructions, see [Report good URLs to Microsoft](https://learn.microsoft.com/defender-office-365/submissions-admin#report-good-urls-to-microsoft).
85+
7786
## PARAMETERS
7887

7988
### -Entries
@@ -281,6 +290,8 @@ The RemoveAfter parameter enables the **Remove on** \> **45 days after last used
281290

282291
The only valid value for this parameter is 45.
283292

293+
You can use this parameter with the Allow switch when the ListType parameter value is Sender, FileHash, or Url.
294+
284295
You can't use this parameter with the ExpirationDate or NoExpirationDate parameters.
285296

286297
```yaml

exchange/exchange-ps/exchange/Remove-AuthenticationPolicy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ This switch applies to the entire organization. The Identity parameter is requir
8484
- Apart from the Identity parameter, this switch disregards other authentication policy parameters used in the same command. We recommend running separate commands for other authentication policy changes.
8585
- It might take up to 24 hours for the change to take effect across your entire organization.
8686
- Legacy Exchange tokens issued to Outlook add-ins before token blocking was implemented in your organization will remain valid until they expire.
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).
87+
- As of February 17 2025, legacy Exchange tokens are 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).
8888
8989
```yaml
9090
Type: SwitchParameter

exchange/exchange-ps/exchange/Set-AppRetentionCompliancePolicy.md

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,38 @@ Set-AppRetentionCompliancePolicy -Identity "Regulation 563 Marketing" -Applicati
119119

120120
This example adds a new user to the existing static scope retention policy named Regulation 563 Marketing that's set up for Teams private channels messages.
121121

122+
### Example 2
123+
```powershell
124+
$stringJson = @"
125+
[{
126+
'EmailAddress': 'SalesUser@contoso.onmicrosoft.com'
127+
}]
128+
"@
129+
Set-AppRetentionCompliancePolicy -Identity "Teams Private Channel Retention Policy" -AddExchangeLocationException "SalesUser@contoso.onmicrosoft.com" -DeletedResources $stringJson
130+
```
131+
This example excludes the specified soft-deleted mailbox or mail user from the retention policy configured for Teams private channel messages. You can identify the deleted resources using the mailbox or mail user's email address.
132+
133+
**IMPORTANT**: Before you run this command, make sure you read the Caution information for the [DeletedResources parameter](#-deletedresources) about duplicate SMTP addresses.
134+
135+
Policy exclusions must remain within the supported limits for retention policies. For more information, see [Limits for Microsoft 365 retention policies and retention label policies](https://learn.microsoft.com/purview/retention-limits#maximum-number-of-items-per-policy).
136+
137+
### Example 3
138+
```powershell
139+
$stringJson = @"
140+
[{
141+
'EmailAddress': 'SalesUser1@contoso.onmicrosoft.com'
142+
},
143+
{
144+
'EmailAddress': 'SalesUser2@contoso.onmicrosoft.com'
145+
}]
146+
"@
147+
Set-AppRetentionCompliancePolicy -Identity "Teams Private Chat Retention Policy" -AddExchangeLocationException "SalesUser1@contoso.onmicrosoft.com", "SalesUser2@contoso.onmicrosoft.com" -DeletedResources $stringJson
148+
```
149+
150+
This example is similar to Example 2, except multiple deleted resources are specified.
151+
152+
**IMPORTANT**: Before you run this command, make sure you read the Caution information for the [DeletedResources parameter](#-deletedresources) about duplicate SMTP addresses.
153+
122154
## PARAMETERS
123155

124156
### -Identity
@@ -347,7 +379,15 @@ Accept wildcard characters: False
347379
```
348380

349381
### -DeletedResources
350-
{{ Fill DeletedResources Description }}
382+
The DeletedResources parameter specifies the deleted mailbox or mail user to add as an exclusion to the respective location list. Use this parameter with the AddTeamsChatLocationException parameter for deleted mailboxes or mail users that need to be excluded from a Teams only retention policy.
383+
384+
A valid value is a JSON string. Refer to the Examples section for syntax and usage examples of this parameter.
385+
386+
For information about the inactive mailbox scenario, see [Learn about inactive mailboxes](https://learn.microsoft.com/purview/inactive-mailboxes-in-office-365).
387+
388+
**CAUTION**: This parameter uses the SMTP address of the deleted mailbox or mail user, which might also be specified for other mailboxes or mail users. If you use this parameter without first taking additional steps, other mailboxes and mail users with the same SMTP address in the retention policy will also be excluded. To check for additional mailboxes or mail users with the same SMTP address, use the following command and replace *user@example.com* with the SMTP address to check: `Get-Recipient -IncludeSoftDeletedRecipients user@contoso.com |Select-Object DisplayName, EmailAddresses, Description, Alias, RecipientTypeDetails, WhenSoftDeleted`
389+
390+
To prevent active mailboxes or mail users with the same SMTP address from being excluded, put the mailbox on [Litigation Hold](https://learn.microsoft.com/purview/ediscovery-create-a-litigation-hold) before you run the command with the DeletedResources parameter.
351391

352392
```yaml
353393
Type: String

exchange/exchange-ps/exchange/Set-ArcConfig.md

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,27 @@ The first four commands return the existing list of ARC sealers. The first ARC s
7373

7474
The last two commands remove the seventh ARC sealer that's displayed in the list.
7575

76+
### Example 4
77+
```powershell
78+
$arcSealer = 'fabrikam.com'
79+
$x = @(Get-ArcConfig | Select-Object -Expand ArcTrustedSealers)
80+
81+
$y = @($x.Split(","))
82+
$DomainsRemove = [System.Collections.ArrayList]($y)
83+
$DomainsRemove.Remove($arcSealer)
84+
85+
if ($DomainsToRemove.Count -eq 0) {
86+
Set-ArcConfig -Identity Default -ArcTrustedSealers " "
87+
}
88+
else {
89+
Set-ArcConfig -Identity Default -ArcTrustedSealers $DomainsRemove
90+
}
91+
```
92+
93+
This example removes the specified ARC sealer from the list (`$arcSealer`).
94+
95+
If no other ARC sealers exist after removing this entry from the list, using the value `" "` for the ArcTrustedSealers parameter avoids a bind argument error if the `$DomainsToRemove` value is empty.
96+
7697
## PARAMETERS
7798

7899
### -Identity
@@ -99,9 +120,11 @@ The ArcTrustedSealers parameter specifies the domain name of the ARC sealers tha
99120
100121
The domain name must match the domain that's shown in the `d` tag in the **ARC-Seal** and **ARC-Message-Signature** headers in affected email messages (for example, fabrikam.com). You can use Outlook to see these headers.
101122

102-
To replace the existing list of ARC sealers with the values you specify, use the syntax `Domain1,Domain2,...DomainN`. To preserve existing values, be sure to include the file types that you want to keep along with the new values that you want to add.
123+
To replace the existing list of ARC sealers with the values you specify, use the syntax `Domain1,Domain2,...DomainN`. To preserve existing values, be sure to include the entries that you want to keep along with the new values that you want to add.
124+
125+
To add or remove values without affecting the other entries, see the Examples section in this article.
103126

104-
To add or remove file types without affecting the other file type entries, see the Examples section in this topic.
127+
To empty the list, use the value `" "` (a space enclosed in double quotation marks).
105128

106129
```yaml
107130
Type: String[]

0 commit comments

Comments
 (0)