Skip to content

Commit 52d1191

Browse files
authored
Merge branch 'master' into patch-6
2 parents cd4b96a + fb86c61 commit 52d1191

31 files changed

+260
-187
lines changed

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

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ ms.custom:
1414
ms.assetid:
1515
search.appverid: MET150
1616
ROBOTS: NOINDEX, NOFOLLOW
17-
description: "Learn about using the Exchange Online V2 module in scripts and other long-running tasks with Modern Authentication and app-only authentication."
17+
description: "Learn about using the Exchange Online V2 module in scripts and other long-running tasks with modern authentication and app-only authentication."
1818
---
1919

20-
# App-only authentication in the EXO V2 module
20+
# App-only authentication for unattended scripts in the EXO V2 module
2121

2222
> [!NOTE]
2323
> This feature is currently in Public Preview, and is available in the Preview release of Exchange Online PowerShell V2 Module.
@@ -31,10 +31,10 @@ Install-Module -Name ExchangeOnlineManagement -RequiredVersion 2.0.3-Preview -Al
3131
To update from an earlier version of the of the EXO V2 module, run the following command:
3232

3333
```powershell
34-
Update-Module -Name ExchangeOnlineManagement -AllowPrerelease
34+
Update-Module -Name ExchangeOnlineManagement -RequiredVersion 2.0.3-Preview -AllowPrerelease
3535
```
3636

37-
Auditing and reporting scenarios in Exchange Online often involve scripts that run unattended. In most cases, these unattended scripts access Exchange Online PowerShell using Basic authentication (a username and password). Even when the connection to Exchange Online PowerShell uses Modern authentication, the credentials are stored in a local file or a secret vault that's access at run-time.
37+
Auditing and reporting scenarios in Exchange Online often involve scripts that run unattended. In most cases, these unattended scripts access Exchange Online PowerShell using Basic authentication (a username and password). Even when the connection to Exchange Online PowerShell uses modern authentication, the credentials are stored in a local file or a secret vault that's access at run-time.
3838

3939
Because storing user credentials locally is not a safe practice, we're releasing this feature to support authentication for unattended scripts (automation) scenarios using AzureAD applications and self-signed certificates.
4040

@@ -43,13 +43,13 @@ The following examples show how to use the Exchange Online PowerShell V2 module
4343
- Connect using a local certificate:
4444

4545
```powershell
46-
Connect-ExchangeOnline -CertificateFilePath "C:\Users\johndoe\Desktop\automation-cert.pfx" -AppID "alpha-beta-gamma-123456" -Organization "contosoelectronics.onmicrosoft.com"
46+
Connect-ExchangeOnline -CertificateFilePath "C:\Users\johndoe\Desktop\automation-cert.pfx" -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"
4747
```
4848

4949
- Connect using a certificate thumbprint:
5050

5151
```powershell
52-
Connect-ExchangeOnline -CertificateThumbPrint "012THISISADEMOTHUMBPRINT" -AppID "alpha-beta-gamma-123456" -Organization "contosoelectronics.onmicrosoft.com"
52+
Connect-ExchangeOnline -CertificateThumbPrint "012THISISADEMOTHUMBPRINT" -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"
5353
```
5454

5555
When you use the _CertificateThumbPrint_ parameter, the certificate needs to be installed on the computer where you are running the command. The certificate should be installed in the user certificate store.
@@ -92,7 +92,10 @@ For a detailed visual flow bout creating applications in Azure AD, see <https://
9292
9393
- Create and configure a self-signed X.509 certificate, which will be used to authenticate your Application against Azure AD, while requesting the app-only access token.
9494
95-
- This is similar to generating a password for user accounts. The certificate can be self-signed as well. See the [Appendix](#appendix) section later in this topic for instructions for generating certificates in PowerShell.
95+
- This is similar to generating a password for user accounts. The certificate can be self-signed as well. See the [Appendix](#step-3-generate-a-self-signed-certificate) section later in this topic for instructions for generating certificates in PowerShell.
96+
97+
> [!NOTE]
98+
> Cryptography: Next Generation (CNG) certificates are not supported for app-only authentication with Exchange. CNG certificates are created by default in modern Windows versions. You must use a certificate from a CSP key provider. The [Appendix](#step-3-generate-a-self-signed-certificate) section covers two supported methods to create a CSP certificate.
9699
97100
4. Assign RBAC roles
98101
@@ -103,7 +106,7 @@ For a detailed visual flow bout creating applications in Azure AD, see <https://
103106
- Security reader
104107
- Security administrator
105108
- Helpdesk administrator
106-
- Exchange Service administrator
109+
- Exchange administrator
107110
- Global Reader
108111
109112
## Appendix

exchange/docs-conceptual/connect-to-exchange-online-powershell.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: "Connect to Exchange Online PowerShell"
2+
title: "Connect to Exchange Online PowerShell with Basic authentication"
33
ms.author: chrisda
44
author: chrisda
55
manager: dansimp
@@ -12,19 +12,16 @@ ms.collection: Strat_EX_Admin
1212
ms.custom:
1313
ms.assetid: c8bea338-6c1a-4bdf-8de0-7895d427ee5b
1414
search.appverid: MET150
15-
description: "Learn how to use remote PowerShell to connect to Exchange Online."
15+
description: "Learn how to use remote PowerShell to connect to Exchange Online with Basic authentication."
1616
---
1717

18-
# Connect to Exchange Online PowerShell
19-
20-
> [!NOTE]
21-
> Since Basic Auth Deprecation has been announced and this method uses Basic Authentication on Server Side,
18+
# Connect to Exchange Online PowerShell with Basic authentication
2219

2320
Exchange Online PowerShell allows you to manage your Exchange Online settings from the command line. You use Windows PowerShell on your local computer to create a remote PowerShell session to Exchange Online. It's a simple three-step process where you enter your Microsoft 365 credentials, provide the required connection settings, and then import the Exchange Online cmdlets into your local Windows PowerShell session so that you can use them.
2421

2522
> [!NOTE]
2623
>
27-
> - We're eventually going to [disable Basic authentication in Exchange Online](https://techcommunity.microsoft.com/t5/exchange-team-blog/basic-authentication-and-exchange-online-april-2020-update/ba-p/1275508), and the connection method described in this topic uses Basic authentication. We recommend that you use the [Exchange Online PowerShell V2 module](exchange-online-powershell-v2.md) to connect to Exchange Online PowerShell, because it uses Modern authentication in all scenarios.
24+
> - We're eventually going to [disable Basic authentication in Exchange Online](https://techcommunity.microsoft.com/t5/exchange-team-blog/basic-authentication-and-exchange-online-april-2020-update/ba-p/1275508), and the connection method described in this topic uses Basic authentication. We recommend that you use the [Exchange Online PowerShell V2 module](exchange-online-powershell-v2.md) to connect to Exchange Online PowerShell, because it uses modern authentication in all scenarios.
2825
>
2926
> - The Exchange Online PowerShell V2 module works with multi-factor authentication (MFA). For MFA connection instructions using the older Exchange Online Remote PowerShell Module, see [Connect to Exchange Online PowerShell using multi-factor authentication](mfa-connect-to-exchange-online-powershell.md).
3027
>

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Exchange Online PowerShell V2
2+
title: Exchange Online PowerShell with modern authentication using V2 Module
33
ms.author: chrisda
44
author: chrisda
55
manager: dansimp
@@ -13,10 +13,10 @@ ms.collection: Strat_EX_Admin
1313
ms.custom:
1414
ms.assetid:
1515
search.appverid: MET150
16-
description: "Learn how to download and use the Exchange Online PowerShell V2 module to connect to Exchange Online PowerShell."
16+
description: "Learn how to install and use the Exchange Online PowerShell V2 module to connect to Exchange Online PowerShell with modern authentication."
1717
---
1818

19-
# Use the Exchange Online PowerShell V2 module
19+
# Use the Exchange Online PowerShell with modern authentication using V2 module
2020

2121
The Exchange Online PowerShell V2 module (abbreviated as the EXO V2 module) enables admins to connect to their Exchange Online environment in Microsoft 365 to retrieve data, create new objects, update existing objects, remove objects as well as configure Exchange Online and its features.
2222

@@ -32,7 +32,7 @@ Connect-ExchangeOnline -EnableErrorReporting -LogDirectoryPath <Path to store lo
3232

3333
The Exchange Online PowerShell V2 module contains a small set of new cmdlets that are optimized for bulk data retrieval scenarios (think: thousands and thousands of objects). Until you create a session to connect to your Exchange Online organization, you'll only see these new cmdlets in the module. After you connect to your Exchange Online organization, you'll see all of the older remote PowerShell cmdlets.
3434

35-
The EXO V2 module use Modern authentication for all cmdlets. You can't use Basic authentication in the EXO V2 module; however, you still need to configure the Basic authentication setting in WinRM as described later in this topic.
35+
The EXO V2 module use modern authentication for all cmdlets. You can't use Basic authentication in the EXO V2 module; however, you still need to configure the Basic authentication setting in WinRM as described later in this topic.
3636

3737
The new cmdlets in the EXO V2 module are meant to replace their older, less efficient equivalents. However, the original cmdlets are still available in the EXO V2 module for backwards compatibility **after** you create a session to connect to your Exchange Online organization.
3838

exchange/docs-conceptual/toc.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
- name: Exchange Online PowerShell
2727
href: exchange-online-powershell.md
2828
items:
29-
- name: Connect to Exchange Online PowerShell
29+
- name: Connect to Exchange Online PowerShell - Basic auth
3030
href: connect-to-exchange-online-powershell.md
3131
items:
3232
- name: Connect to Exchange Online PowerShell using multi-factor authentication
@@ -42,14 +42,14 @@
4242
href: filter-properties.md
4343
- name: Filterable properties for the RecipientFilter parameter
4444
href: recipientfilter-properties.md
45-
- name: Exchange Online PowerShell V2
45+
- name: Exchange Online PowerShell V2 - modern auth
4646
href: exchange-online-powershell-v2.md
4747
items:
4848
- name: Property sets in V2 cmdlets
4949
href: cmdlet-property-sets.md
5050
- name: Filters in the V2 module
5151
href: filters-v2.md
52-
- name: App-only authentication
52+
- name: App-only authentication for unattended scripts
5353
href: app-only-auth-powershell-v2.md
5454
- name: Security & Compliance Center PowerShell
5555
href: scc-powershell.md

exchange/exchange-ps/exchange/Get-MailboxAuditBypassAssociation.md

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ monikerRange: "exchserver-ps-2010 || exchserver-ps-2013 || exchserver-ps-2016 ||
1515
## SYNOPSIS
1616
This cmdlet is available in on-premises Exchange and in the cloud-based service. Some parameters and settings may be exclusive to one environment or the other.
1717

18-
Use the Get-MailboxAuditBypassAssociation cmdlet to retrieve user or computer accounts configured to bypass mailbox audit logging.
18+
Use the Get-MailboxAuditBypassAssociation cmdlet to retrieve information about the AuditBypassEnabled property value for user accounts (on-premises Exchange and the cloud) and computer accounts (on-premises Exchange only). You use the [Set-MailboxAuditBypassAssociation](https://docs.microsoft.com/powershell/module/exchange/set-mailboxauditbypassassociation) cmdlet to enable this property to bypass mailbox audit logging.
1919

2020
For information about the parameter sets in the Syntax section below, see [Exchange cmdlet syntax](https://docs.microsoft.com/powershell/exchange/exchange-cmdlet-syntax).
2121

@@ -27,59 +27,67 @@ Get-MailboxAuditBypassAssociation [[-Identity] <MailboxAuditBypassAssociationIdP
2727
```
2828

2929
## DESCRIPTION
30-
When you configure a user or computer account to bypass mailbox audit logging, access or actions taken by the user or computer account to any mailbox isn't logged. By bypassing trusted user or computer accounts that need to access mailboxes frequently, you can reduce the noise in mailbox audit logs.
30+
When you configure a user or computer account to bypass mailbox audit logging, access or actions taken by the user account or computer account to any mailbox isn't logged. By bypassing trusted user accounts or computer accounts that need to access mailboxes frequently, you can reduce the noise in mailbox audit logs.
3131

3232
You need to be assigned permissions before you can run this cmdlet. Although this topic lists all parameters for the cmdlet, you may not have access to some parameters if they're not included in the permissions assigned to you. To find the permissions required to run any cmdlet or parameter in your organization, see [Find the permissions required to run any Exchange cmdlet](https://docs.microsoft.com/powershell/exchange/find-exchange-cmdlet-permissions).
3333

3434
## EXAMPLES
3535

3636
### Example 1
3737
```powershell
38-
Get-MailboxAuditBypassAssociation -ResultSize unlimited
38+
Get-MailboxAuditBypassAssociation -ResultSize unlimited | Format-Table Name,AuditBypassEnabled
3939
```
4040

41-
This example retrieves all user or computer accounts configured for mailbox audit logging bypass.
41+
This example returns all accounts and whether they are configured or not configured for mailbox audit logging bypass.
4242

4343
### Example 2
4444
```powershell
4545
Get-MailboxAuditBypassAssociation -Identity "Svc-MyApplication"
4646
```
4747

48-
This example retrieves the mailbox audit bypass association for the Svc-MyApplication account.
48+
This example returns the status of the AuditBypassEnabled property for the Svc-MyApplication account.
4949

50-
## PARAMETERS
50+
### Example 3
51+
```powershell
52+
$MBX = Get-MailboxAuditBypassAssociation -ResultSize unlimited
53+
$MBX | where {$_.AuditBypassEnabled -eq $true} | Format-Table Name,AuditBypassEnabled
54+
```
5155

52-
### -DomainController
53-
This parameter is available only in on-premises Exchange.
56+
This example returns all accounts that are configured for mailbox audit logging bypass.
5457

55-
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.
58+
## PARAMETERS
59+
60+
### -Identity
61+
The Identity parameter specifies the user account or computer account where you want to view the value of the AuditBypassEnabled property.
5662

5763
```yaml
58-
Type: Fqdn
64+
Type: MailboxAuditBypassAssociationIdParameter
5965
Parameter Sets: (All)
6066
Aliases:
61-
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019
67+
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online
6268

6369
Required: False
64-
Position: Named
70+
Position: 1
6571
Default value: None
66-
Accept pipeline input: False
72+
Accept pipeline input: True
6773
Accept wildcard characters: False
6874
```
6975
70-
### -Identity
71-
The Identity parameter specifies a user or computer account to retrieve audit logging bypass association for.
76+
### -DomainController
77+
This parameter is available only in on-premises Exchange.
78+
79+
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.
7280
7381
```yaml
74-
Type: MailboxAuditBypassAssociationIdParameter
82+
Type: Fqdn
7583
Parameter Sets: (All)
7684
Aliases:
77-
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online
85+
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019
7886

7987
Required: False
80-
Position: 1
88+
Position: Named
8189
Default value: None
82-
Accept pipeline input: True
90+
Accept pipeline input: False
8391
Accept wildcard characters: False
8492
```
8593

exchange/exchange-ps/exchange/Get-PhishFilterPolicy.md

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ For information about the parameter sets in the Syntax section below, see [Excha
2626
```
2727
Get-PhishFilterPolicy [[-Identity] <HostedConnectionFilterPolicyIdParameter>]
2828
[-AllowedToSpoof <String>]
29-
[-ConfidenceLevel <ConfidenceLevel>]
3029
[-DecisionSetBy <DecisionSetBy>]
3130
[-Detailed]
3231
[-SpoofAllowBlockList]
@@ -114,32 +113,11 @@ Accept pipeline input: False
114113
Accept wildcard characters: False
115114
```
116115
117-
### -ConfidenceLevel
118-
The ConfidenceLevel parameter filters the results by the specified confidence level. Valid values are:
119-
120-
-Low
121-
-High
122-
123-
You can only see the ConfidenceLevel value in the results when you include the Detailed switch in the command.
124-
125-
```yaml
126-
Type: ConfidenceLevel
127-
Parameter Sets: (All)
128-
Aliases:
129-
Applicable: Exchange Online, Exchange Online Protection
130-
131-
Required: False
132-
Position: Named
133-
Default value: None
134-
Accept pipeline input: False
135-
Accept wildcard characters: False
136-
```
137-
138116
### -DecisionSetBy
139117
The DecisionSetBy parameter filters the results by who allowed or blocked the spoofed sender. Valid values are:
140118
141-
-Admin
142-
-SpoofProtection
119+
- Admin
120+
- SpoofProtection
143121
144122
```yaml
145123
Type: DecisionSetBy
@@ -159,8 +137,8 @@ The Detailed switch specifies whether to return detailed information in the resu
159137
160138
Specifically, this switch returns the following additional properties:
161139
162-
- ConfidenceLevel
163-
- DomainPairsCountInCategory
140+
- ConfidenceLevel: Level of signals indicated by spoof intelligence that these domains may be suspicious, based on historical sending patterns and the reputation score of the domains.
141+
- DomainPairsCountInCategory: The spoofed domains displayed are separated into two categories: suspicious domain pairs and non-suspicious domain pairs. For more information, see [this topic](https://docs.microsoft.com/microsoft-365/security/office-365-security/walkthrough-spoof-intelligence-insight).
164142
165143
```yaml
166144
Type: SwitchParameter

exchange/exchange-ps/exchange/Get-RecoverableItems.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ You need to be assigned permissions before you can run this cmdlet. Although thi
5858

5959
### Example 1
6060
```powershell
61-
Get-RecoverableItems -Identity [email protected] -Subject -SubjectContains "FY17 Accounting" -FilterItemType IPM.Note -FilterStartTime "2/1/2018 12:00:00 AM" -FilterEndTime "2/5/2018 11:59:59 PM"
61+
Get-RecoverableItems -Identity [email protected] -SubjectContains "FY17 Accounting" -FilterItemType IPM.Note -FilterStartTime "2/1/2018 12:00:00 AM" -FilterEndTime "2/5/2018 11:59:59 PM"
6262
```
6363

6464
This example returns all of the available recoverable deleted messages with the specified subject in the mailbox [email protected] for the specified date/time range.

exchange/exchange-ps/exchange/Import-ContactList.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ Accept wildcard characters: False
7272
```
7373
7474
### -CSVData
75-
The CSVData parameter specifies the .csv file you want to import. Use the following syntax for this parameter: ([System.IO.File]::ReadAllBytes("\<file name and path\>")). For example, ([System.IO.File]::ReadAllBytes("C:\\My Documents\\Contacts.csv")).
75+
The CSVData parameter specifies the .csv file you want to import. Use the following syntax for this parameter: `([System.IO.File]::ReadAllBytes("<file name and path>"))`. For example, `([System.IO.File]::ReadAllBytes("C:\My Documents\Contacts.csv"))`.
7676

7777
```yaml
7878
Type: Byte[]

0 commit comments

Comments
 (0)