Skip to content

Commit 905a730

Browse files
Merge branch 'main' into patch-1
2 parents f2e1bb4 + 0dc438b commit 905a730

15 files changed

+2647
-11
lines changed

exchange/docs-conceptual/app-only-auth-powershell-v2.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: App-only authentication in Exchange Online PowerShell and Security & Comp
33
ms.author: chrisda
44
author: chrisda
55
manager: orspodek
6-
ms.date: 10/24/2025
6+
ms.date: 11/25/2025
77
ms.audience: Admin
88
audience: Admin
99
ms.topic: article
@@ -37,7 +37,7 @@ Certificate based authentication (CBA) or app-only authentication as described i
3737
>
3838
> - REST API connections in the Exchange Online PowerShell V3 module require the PowerShellGet and PackageManagement modules. For more information, see [PowerShellGet for REST-based connections in Windows](exchange-online-powershell-v2.md#powershellget-for-rest-api-connections-in-windows).
3939
>
40-
> If the procedures in this article don't work for you, verify that you don't have preview versions of the PackageManagement or PowerShellGet modules installed by running the following command: `Get-InstalledModule PackageManagement -AllVersions; Get-InstalledModule PowerShellGet -AllVersions`.
40+
> - If the procedures in this article don't work for you, verify you don't have preview versions of the PackageManagement or PowerShellGet modules installed by running the following command: `Get-InstalledModule PackageManagement -AllVersions; Get-InstalledModule PowerShellGet -AllVersions`.
4141
>
4242
> - In Exchange Online PowerShell, you can't use the procedures in this article with the following Microsoft 365 Group cmdlets:
4343
> - [New-UnifiedGroup](/powershell/module/exchangepowershell/new-unifiedgroup)
@@ -47,11 +47,14 @@ Certificate based authentication (CBA) or app-only authentication as described i
4747
>
4848
> You can use Microsoft Graph to replace most of the functionality from those cmdlets. For more information, see [Working with groups in Microsoft Graph](/graph/api/resources/groups-overview).
4949
>
50-
> - In Security & Compliance PowerShell, you can't use the procedures in this article with the following Microsoft Purview cmdlets:
50+
> - In Security & Compliance PowerShell, you can't use the procedures in this article with Microsoft Purview cmdlets, including but not limited to:
5151
> - [Get-ComplianceSearchAction](/powershell/module/exchangepowershell/get-compliancesearchaction)
5252
> - [New-ComplianceSearch](/powershell/module/exchangepowershell/new-compliancesearch)
5353
> - [Start-ComplianceSearch](/powershell/module/exchangepowershell/start-compliancesearch)
5454
> - [New-ComplianceSearchAction](/powershell/module/exchangepowershell/new-compliancesearchaction)
55+
> - [Invoke-HoldRemovalAction](/powershell/module/exchangepowershell/invoke-holdremovalaction)
56+
> - [Invoke-ComplianceSecurityFilterAction](/powershell/module/exchangepowershell/invoke-compliancesecurityfilteraction)
57+
> - [Invoke-ComplianceSearchActionStep](/powershell/module/exchangepowershell/invoke-compliancesearchactionstep)
5558
>
5659
> - Delegated scenarios are supported in Exchange Online. The recommended method for connecting with delegation is using GDAP and App Consent. For more information, see [Use the Exchange Online PowerShell v3 Module with GDAP and App Consent](/powershell/partnercenter/exchange-online-gdap-app). You can also use multitenant applications when CSP relationships aren't created with the customer. The required steps for using multitenant applications are called out within the regular instructions in this article.
5760
>
@@ -201,7 +204,7 @@ For a detailed visual flow about creating applications in Microsoft Entra ID, se
201204
202205
When you're finished on the **App registrations** page, select **Register**.
203206
204-
5. You're taken to the **Overview** page of the app you just registered. Leave this page open. You use it in the next step.
207+
5. You're taken to the **Overview** page of the app you registered. Leave this page open. You use it in the next step.
205208
206209
### Step 2: Assign API permissions to the application
207210
@@ -433,7 +436,7 @@ The supported Microsoft Entra roles are described in the following table:
433436

434437
The Security Administrator role doesn't have the necessary permissions for those same tasks.
435438

436-
² Microsoft recommends that you use roles with the fewest permissions. Using lower permissioned accounts helps improve security for your organization. Global Administrator is a highly privileged role that should be limited to emergency scenarios when you can't use an existing role.
439+
² Microsoft strongly advocates for the principle of least privilege. Assigning accounts only the minimum permissions necessary to perform their tasks helps reduce security risks and strengthens your organization's overall protection. Global Administrator is a highly privileged role that you should limit to emergency scenarios or when you can't use a different role.
437440

438441
For general instructions about assigning roles in Microsoft Entra ID, see [Assign Microsoft Entra roles to users](/entra/identity/role-based-access-control/manage-roles-portal).
439442

@@ -457,6 +460,7 @@ For general instructions about assigning roles in Microsoft Entra ID, see [Assig
457460
![Find and select a supported Security & Compliance PowerShell role by clicking on the role name.](media/exo-app-only-auth-find-and-select-supported-role-scc.png)
458461

459462
3. On the **Assignments** page that opens, select **Add assignments**.
463+
460464
- **Exchange Online PowerShell**:
461465

462466
![Select Add assignments on the role assignments page for Exchange Online PowerShell.](media/exo-app-only-auth-role-assignments-click-add-assignments.png)
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
---
2+
applicable: Security & Compliance
3+
author: chrisda
4+
external help file: Microsoft.Exchange.TransportMailflow-Help.xml
5+
Locale: en-US
6+
Module Name: ExchangePowerShell
7+
ms.author: chrisda
8+
online version: https://learn.microsoft.com/powershell/module/exchangepowershell/cancel-sensitiveinformationscan
9+
schema: 2.0.0
10+
title: Cancel-SensitiveInformationScan
11+
---
12+
13+
# Cancel-SensitiveInformationScan
14+
15+
## SYNOPSIS
16+
This cmdlet is available only in Security & Compliance PowerShell. For more information, see [Security & Compliance PowerShell](https://learn.microsoft.com/powershell/exchange/scc-powershell).
17+
18+
Use the Cancel-SensitiveInformationScan cmdlet to cancel sensitive information scans.
19+
20+
For information about the parameter sets in the Syntax section below, see [Exchange cmdlet syntax](https://learn.microsoft.com/powershell/exchange/exchange-cmdlet-syntax).
21+
22+
## SYNTAX
23+
24+
### Identity (Default)
25+
```
26+
Cancel-SensitiveInformationScan [-Identity] <PolicyIdParameter>
27+
[-Confirm]
28+
[-WhatIf]
29+
[<CommonParameters>]
30+
```
31+
32+
## DESCRIPTION
33+
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).
34+
35+
## EXAMPLES
36+
37+
### Example 1
38+
```powershell
39+
Cancel-SensitiveInformationScan -Identity "HR Department"
40+
```
41+
42+
This example cancels the specified sensitive information scan.
43+
44+
## PARAMETERS
45+
46+
### -Identity
47+
48+
> Applicable: Security & Compliance
49+
50+
The Identity parameter specifies the sensitive information scan that you want to cancel. You can use any value that uniquely identifies the scan. For example:
51+
52+
- Name
53+
- Distinguished name (DN)
54+
- GUID
55+
56+
```yaml
57+
Type: PolicyIdParameter
58+
Parameter Sets: (All)
59+
Aliases:
60+
61+
Required: True
62+
Position: 0
63+
Default value: None
64+
Accept pipeline input: True (ByPropertyName, ByValue)
65+
Accept wildcard characters: False
66+
```
67+
68+
### -Confirm
69+
70+
> Applicable: Security & Compliance
71+
72+
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.
73+
74+
- 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`.
75+
- Most other cmdlets (for example, New-\* and Set-\* cmdlets) don't have a built-in pause. For these cmdlets, specifying the Confirm switch without a value introduces a pause that forces you acknowledge the command before proceeding.
76+
77+
```yaml
78+
Type: SwitchParameter
79+
Parameter Sets: (All)
80+
Aliases: cf
81+
82+
Required: False
83+
Position: Named
84+
Default value: None
85+
Accept pipeline input: False
86+
Accept wildcard characters: False
87+
```
88+
89+
### -WhatIf
90+
91+
> Applicable: Security & Compliance
92+
93+
The WhatIf switch doesn't work in Security & Compliance PowerShell.
94+
95+
```yaml
96+
Type: SwitchParameter
97+
Parameter Sets: (All)
98+
Aliases: wi
99+
100+
Required: False
101+
Position: Named
102+
Default value: None
103+
Accept pipeline input: False
104+
Accept wildcard characters: False
105+
```
106+
107+
### CommonParameters
108+
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).
109+
110+
## INPUTS
111+
112+
## OUTPUTS
113+
114+
## NOTES
115+
116+
## RELATED LINKS

exchange/exchange-ps/ExchangePowerShell/ExchangePowerShell.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1738,6 +1738,8 @@ Exchange PowerShell is built on PowerShell technology to a powerful command-line
17381738
### [Update-ExchangeHelp](Update-ExchangeHelp.md)
17391739

17401740
## policy-and-compliance Cmdlets
1741+
### [Cancel-SensitiveInformationScan](Cancel-SensitiveInformationScan.md)
1742+
17411743
### [Check-PurviewConfig](Check-PurviewConfig.md)
17421744

17431745
### [Disable-JournalArchiving](Disable-JournalArchiving.md)
@@ -1796,6 +1798,10 @@ Exchange PowerShell is built on PowerShell technology to a powerful command-line
17961798

17971799
### [Get-ReviewItems](Get-ReviewItems.md)
17981800

1801+
### [Get-SensitiveInformationScan](Get-SensitiveInformationScan.md)
1802+
1803+
### [Get-SensitiveInformationScanRule](Get-SensitiveInformationScanRule.md)
1804+
17991805
### [Get-SupervisoryReviewPolicyV2](Get-SupervisoryReviewPolicyV2.md)
18001806

18011807
### [Get-SupervisoryReviewRule](Get-SupervisoryReviewRule.md)
@@ -1834,6 +1840,10 @@ Exchange PowerShell is built on PowerShell technology to a powerful command-line
18341840

18351841
### [New-ProtectionAlert](New-ProtectionAlert.md)
18361842

1843+
### [New-SensitiveInformationScan](New-SensitiveInformationScan.md)
1844+
1845+
### [New-SensitiveInformationScanRule](New-SensitiveInformationScanRule.md)
1846+
18371847
### [New-SupervisoryReviewPolicyV2](New-SupervisoryReviewPolicyV2.md)
18381848

18391849
### [New-SupervisoryReviewRule](New-SupervisoryReviewRule.md)
@@ -1860,6 +1870,10 @@ Exchange PowerShell is built on PowerShell technology to a powerful command-line
18601870

18611871
### [Remove-ProtectionAlert](Remove-ProtectionAlert.md)
18621872

1873+
### [Remove-SensitiveInformationScan](Remove-SensitiveInformationScan.md)
1874+
1875+
### [Remove-SensitiveInformationScanRule](Remove-SensitiveInformationScanRule.md)
1876+
18631877
### [Remove-SupervisoryReviewPolicyV2](Remove-SupervisoryReviewPolicyV2.md)
18641878

18651879
### [Remove-TransportRule](Remove-TransportRule.md)
@@ -1884,6 +1898,10 @@ Exchange PowerShell is built on PowerShell technology to a powerful command-line
18841898

18851899
### [Set-ProtectionAlert](Set-ProtectionAlert.md)
18861900

1901+
### [Set-SensitiveInformationScan](Set-SensitiveInformationScan.md)
1902+
1903+
### [Set-SensitiveInformationScanRule](Set-SensitiveInformationScanRule.md)
1904+
18871905
### [Set-SupervisoryReviewPolicyV2](Set-SupervisoryReviewPolicyV2.md)
18881906

18891907
### [Set-SupervisoryReviewRule](Set-SupervisoryReviewRule.md)
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
---
2+
applicable: Security & Compliance
3+
author: chrisda
4+
external help file: Microsoft.Exchange.TransportMailflow-Help.xml
5+
Locale: en-US
6+
Module Name: ExchangePowerShell
7+
ms.author: chrisda
8+
online version: https://learn.microsoft.com/powershell/module/exchangepowershell/get-sensitiveinformationscan
9+
schema: 2.0.0
10+
title: Get-SensitiveInformationScan
11+
---
12+
13+
# Get-SensitiveInformationScan
14+
15+
## SYNOPSIS
16+
This cmdlet is available only in Security & Compliance PowerShell. For more information, see [Security & Compliance PowerShell](https://learn.microsoft.com/powershell/exchange/scc-powershell).
17+
18+
Use the Get-SensitiveInformationScan cmdlet to view the properties of sensitive information scans.
19+
20+
For information about the parameter sets in the Syntax section below, see [Exchange cmdlet syntax](https://learn.microsoft.com/powershell/exchange/exchange-cmdlet-syntax).
21+
22+
## SYNTAX
23+
24+
```
25+
Get-SensitiveInformationScan [[-Identity] <PolicyIdParameter>]
26+
[-IncludeImpactAssessment <Boolean>]
27+
[-IncludeProgressForAllActiveScans <Boolean>]
28+
[-IncludeScanProgress <Boolean>]
29+
[<CommonParameters>]
30+
```
31+
32+
## DESCRIPTION
33+
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).
34+
35+
## EXAMPLES
36+
37+
### Example 1
38+
```powershell
39+
Get-SensitiveInformationScan | Format-Table Name,ParentPolicyName
40+
```
41+
42+
This example returns a summary list of all sensitive information scans in the organization.
43+
44+
### Example 2
45+
```powershell
46+
Get-SensitiveInformationScan -Identity "HR Department Scan"
47+
```
48+
49+
This example returns detailed information for the specified scan.
50+
51+
## PARAMETERS
52+
53+
### -Identity
54+
55+
> Applicable: Security & Compliance
56+
57+
The Identity parameter specifies the sensitive information scan that you want to view. You can use any value that uniquely identifies the scan. For example:
58+
59+
- Name
60+
- Distinguished name (DN)
61+
- GUID
62+
63+
```yaml
64+
Type: PolicyIdParameter
65+
Parameter Sets: (All)
66+
Aliases:
67+
68+
Required: False
69+
Position: 0
70+
Default value: None
71+
Accept pipeline input: True (ByPropertyName, ByValue)
72+
Accept wildcard characters: False
73+
```
74+
75+
### -IncludeImpactAssessment
76+
77+
> Applicable: Security & Compliance
78+
79+
The IncludeImpactAssessment parameter specifies whether to refresh the latest scan status during the estimation stage. Valid values are:
80+
81+
- $true: Get the latest estimation status.
82+
- $false: Return the last updated scan status.
83+
84+
```yaml
85+
Type: Boolean
86+
Parameter Sets: (All)
87+
Aliases:
88+
89+
Required: False
90+
Position: Named
91+
Default value: None
92+
Accept pipeline input: False
93+
Accept wildcard characters: False
94+
```
95+
96+
### -IncludeProgressForAllActiveScans
97+
98+
> Applicable: Security & Compliance
99+
100+
This parameter is reserved for internal Microsoft use.
101+
102+
```yaml
103+
Type: Boolean
104+
Parameter Sets: (All)
105+
Aliases:
106+
107+
Required: False
108+
Position: Named
109+
Default value: None
110+
Accept pipeline input: False
111+
Accept wildcard characters: False
112+
```
113+
114+
### -IncludeScanProgress
115+
116+
> Applicable: Security & Compliance
117+
118+
The IncludeScanProgress parameter specifies whether to refresh the latest scan status during the classification phase. Valid values are:
119+
120+
- $true: Get the latest classification status.
121+
- $false: Return the last updated scan status.
122+
123+
```yaml
124+
Type: Boolean
125+
Parameter Sets: (All)
126+
Aliases:
127+
128+
Required: False
129+
Position: Named
130+
Default value: None
131+
Accept pipeline input: False
132+
Accept wildcard characters: False
133+
```
134+
135+
### CommonParameters
136+
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).
137+
138+
## INPUTS
139+
140+
## OUTPUTS
141+
142+
## NOTES
143+
144+
## RELATED LINKS

0 commit comments

Comments
 (0)