Skip to content

Commit 371105f

Browse files
authored
Merge branch 'master' into patch-228
2 parents fbe8741 + 9acb958 commit 371105f

17 files changed

+87
-89
lines changed

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

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ ROBOTS: NOINDEX, NOFOLLOW
1717
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,7 +31,7 @@ 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

3737
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.
@@ -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: 3 additions & 6 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,13 +12,10 @@ 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

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

Lines changed: 3 additions & 3 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

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/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[]

exchange/exchange-ps/exchange/New-Label.md

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

2424
```
25-
New-Label [-Name] <String> -DisplayName <String>
25+
New-Label [-Name] <String> -DisplayName <String> -Tooltip <String>
2626
[-AdvancedSettings <PswsHashtable>]
2727
[-ApplyContentMarkingFooterAlignment <Microsoft.Office.CompliancePolicy.Tasks.FlattenLabelActionUtils+ContentAlignment>]
2828
[-ApplyContentMarkingFooterEnabled <System.Boolean>]
@@ -74,7 +74,6 @@ New-Label [-Name] <String> -DisplayName <String>
7474
[-SiteAndGroupProtectionBlockAccess <System.Boolean>]
7575
[-SiteAndGroupProtectionEnabled <System.Boolean>]
7676
[-SiteAndGroupProtectionPrivacy <Microsoft.Office.CompliancePolicy.PolicyConfiguration.AccessType>]
77-
[-Tooltip <String>]
7877
[-WhatIf]
7978
[<CommonParameters>]
8079
```
@@ -125,6 +124,22 @@ Accept pipeline input: False
125124
Accept wildcard characters: False
126125
```
127126
127+
### -Tooltip
128+
The ToolTip parameter specifies the default tooltip and sensitivity label description that's seen by users. It the value contains spaces, enclose the value in quotation marks (").
129+
130+
```yaml
131+
Type: String
132+
Parameter Sets: (All)
133+
Aliases:
134+
Applicable: Office 365 Security & Compliance Center
135+
136+
Required: True
137+
Position: Named
138+
Default value: None
139+
Accept pipeline input: False
140+
Accept wildcard characters: False
141+
```
142+
128143
### -AdvancedSettings
129144
The AdvancedSettings parameter enables client-specific features and capabilities on the sensitivity label. The settings that you configure with this parameter only affect apps that are designed for the setting. For more information, see [How to configure advanced settings for the client by using Security & Compliance Center PowerShell](https://docs.microsoft.com/azure/information-protection/rms-client/clientv2-admin-guide-customizations#how-to-configure-advanced-settings-for-the-client-by-using-office-365-security--compliance-center-powershell).
130145
@@ -1087,22 +1102,6 @@ Accept pipeline input: False
10871102
Accept wildcard characters: False
10881103
```
10891104

1090-
### -Tooltip
1091-
The ToolTip parameter specifies the default tooltip and sensitivity label description that's seen by users. It the value contains spaces, enclose the value in quotation marks (").
1092-
1093-
```yaml
1094-
Type: String
1095-
Parameter Sets: (All)
1096-
Aliases:
1097-
Applicable: Office 365 Security & Compliance Center
1098-
1099-
Required: False
1100-
Position: Named
1101-
Default value: None
1102-
Accept pipeline input: False
1103-
Accept wildcard characters: False
1104-
```
1105-
11061105
### -WhatIf
11071106
The WhatIf switch doesn't work in Office 365 Security & Compliance Center PowerShell.
11081107

exchange/exchange-ps/exchange/New-MigrationBatch.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,9 @@ Accept wildcard characters: False
359359
### -CSVData
360360
The CSVData parameter specifies the CSV file that contains information about the user mailboxes to be moved or migrated. The required attributes in the header row of the CSV file vary depending on the type of migration. For more information, see [CSV files for mailbox migration](https://docs.microsoft.com/exchange/csv-files-for-mailbox-migration-exchange-2013-help).
361361
362-
Use the following format for the value of this parameter: ([System.IO.File]::ReadAllBytes(\<path of the CSV migration file\>)). For example: -CSVData ([System.IO.File]::ReadAllBytes("C:\\Users\\Administrator\\Desktop\\MigrationBatch\_1.csv"))
362+
Use the following format for the value of this parameter: `([System.IO.File]::ReadAllBytes(<path of the CSV migration file>))`. For example: `-CSVData ([System.IO.File]::ReadAllBytes("C:\Users\Administrator\Desktop\MigrationBatch\_1.csv"))`.
363+
364+
**Note**: This parameter doesn't validate the availability of the mailboxes based on RBAC scope. All mailboxes that are specified in the CSV file will be migrated, even if they are outside of the RBAC scope (for example, an OU) that gives the admin permissions to migrate mailboxes.
363365

364366
```yaml
365367
Type: Byte[]

exchange/exchange-ps/exchange/New-PublicFolderMigrationRequest.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ Accept wildcard characters: False
177177
### -CSVData
178178
The CSVData parameter specifies the mapping file output generated by the PublicFoldertoMailboxMapGenerator.ps1 script. Use this parameter for local migrations.
179179
180-
A valid value for this parameter requires you to read the file to a byte-encoded object using the Get-Content cmdlet. For example, \(\[Byte\[\]\]\(Get-Content -Encoding Byte -Path "C:\\My Documents\\\<filename\>" -ReadCount 0\)\).
180+
A valid value for this parameter requires you to read the file to a byte-encoded object using the Get-Content cmdlet. For example, `([Byte[]](Get-Content -Encoding Byte -Path "C:\My Documents\<filename>" -ReadCount 0))`.
181181

182182
You can't use this parameter with the CSVStream parameter, but you need to use it if you don't use CSVStream parameter.
183183

exchange/exchange-ps/exchange/Set-Label.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ You need to be assigned permissions in the Security & Compliance Center before y
5050

5151
### Example 1
5252
```powershell
53-
Set-Label -Identity General -LocaleSettings '{"localeKey":"DisplayName","Settings":[{"Key":"en-us","Value":"English display name"},{"Key":"de-de","Value":"Deutscher Anzeigename"},{"Key":"es-es","Value":"Nombre para mostrar en Español"}]}'
53+
Set-Label -Identity "Label1" -LocaleSettings '{"localeKey":"DisplayName","Settings":[{"Key":"en-us","Value":"English display name"},{"Key":"de-de","Value":"Deutscher Anzeigename"},{"Key":"es-es","Value":"Nombre para mostrar en Español"}]}','{"localeKey":"tooltip","Settings":[{"Key":"en-us","Value":"This is an example label"},{"Key":"de-de","Value":"Dies ist ein Beispieletikett"},{"Key":"es-es","Value":"Esta es una etiqueta de ejemplo"}]}'
5454
```
5555

56-
This example sets the localized label name for "General" in different languages (English, German, and Spanish).
56+
This example sets the localized label name for "Label1" in different languages (English, German, and Spanish).
5757

5858
## PARAMETERS
5959

exchange/exchange-ps/exchange/Set-MigrationBatch.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,9 @@ Accept wildcard characters: False
252252
### -CSVData
253253
This parameter is available only in on-premises Exchange.
254254

255-
The CSVData parameter specifies the CSV file that contains information about the user mailboxes to be moved or migrated. The required attributes in the header row of the CSV file vary depending on the type of migration. Use the following format for the value of this parameter: ([System.IO.File]::ReadAllBytes(\<path of the CSV migration file\>)). For example: -CSVData ([System.IO.File]::ReadAllBytes("C:\\Users\\Administrator\\Desktop\\MigrationBatch\_1.csv"))
255+
The CSVData parameter specifies the CSV file that contains information about the user mailboxes to be moved or migrated. The required attributes in the header row of the CSV file vary depending on the type of migration. Use the following format for the value of this parameter: `([System.IO.File]::ReadAllBytes(<path of the CSV migration file>))`. For example: `-CSVData ([System.IO.File]::ReadAllBytes("C:\Users\Administrator\Desktop\MigrationBatch\_1.csv"))`.
256+
257+
**Note**: This parameter doesn't validate the availability of the mailboxes based on RBAC scope. All mailboxes that are specified in the CSV file will be migrated, even if they are outside of the RBAC scope (for example, an OU) that gives the admin permissions to migrate mailboxes.
256258

257259
```yaml
258260
Type: Byte[]

0 commit comments

Comments
 (0)