Skip to content

Commit 02cf37c

Browse files
committed
Merge branch 'main' into EWSCortana-chrisda
2 parents 65bdff3 + 3d81827 commit 02cf37c

File tree

1,409 files changed

+18545
-10574
lines changed

Some content is hidden

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

1,409 files changed

+18545
-10574
lines changed

cabgen-bootstrap.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
trigger:
2+
- live
3+
4+
pr: none # Disable pull request triggers.
5+
6+
resources:
7+
repositories:
8+
- repository: templates
9+
type: git
10+
name: Content CI/ReferenceAutomation
11+
ref: refs/heads/master
12+
13+
extends:
14+
template: PowerShell/cabgen.yml@templates

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

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,27 @@ description: "Learn about using the Exchange Online V2 module in scripts and oth
2020
# App-only authentication for unattended scripts in the EXO V2 module
2121

2222
> [!NOTE]
23-
> The features and procedures described in this article require the following versions of the EXO V2 module:
2423
>
25-
> - **Exchange Online PowerShell (Connect-ExchangeOnline)**: Version 2.0.3 or later.
26-
> - **Security & Compliance Center PowerShell (Connect-IPPSSession)**: Version 2.0.6 Preview5 or later.
24+
> - The features and procedures described in this article require the following versions of the EXO V2 module:
25+
> - **Exchange Online PowerShell (Connect-ExchangeOnline)**: Version 2.0.3 or later.
26+
> - **Security & Compliance PowerShell (Connect-IPPSSession)**: Version 2.0.6 Preview5 or later.
2727
>
28-
> For instructions on how to install or update the module, see [Install and maintain the EXO V2 module](exchange-online-powershell-v2.md#install-and-maintain-the-exo-v2-module).
28+
> For instructions on how to install or update the module on clients or servers, see [Install and maintain the EXO V2 module](exchange-online-powershell-v2.md#install-and-maintain-the-exo-v2-module). For instructions on how to use the module in Azure automation, see [Manage modules in Azure Automation](/azure/automation/shared-resources/modules).
2929
>
30-
> You can't use the procedures in this article to modify Microsoft 365 Groups ([Set-UnifiedGroup](/powershell/module/exchange/set-unifiedgroup)). To use Microsoft Graph instead, see [Update group](/graph/api/group-update).
30+
> - In Exchange Online PowerShell, you can't use the procedures in this article with the following Microsoft 365 Group cmdlets:
31+
> - [New-UnifiedGroup](/powershell/module/exchange/new-unifiedgroup)
32+
> - [Remove-UnifiedGroup](/powershell/module/exchange/remove-unifiedgroup)
33+
> - [Set-UnifiedGroup](/powershell/module/exchange/set-unifiedgroup)
34+
> - [Remove-UnifiedGroupLinks](/powershell/module/exchange/remove-unifiedgrouplinks)
35+
> - [Add-UnifiedGroupLinks](/powershell/module/exchange/add-unifiedgrouplinks)
36+
>
37+
> You can use Microsoft Graph instead. For more information, see [Working with groups in Microsoft Graph](/graph/api/resources/groups-overview)
38+
>
39+
> - In Security & Compliance PowerShell, you can't use the procedures in this article with the following cmdlets:
40+
> - [Get-ComplianceCase](/powershell/module/exchange/get-compliancecase)
41+
> - [Get-CaseHoldPolicy](/powershell/module/exchange/get-caseholdpolicy)
3142
32-
Auditing and reporting scenarios in Microsoft 365 often involve unattended scripts in Exchange Online PowerShell and Security & Compliance Center PowerShell. In the past, unattended sign in required you to store the username and password in a local file or in a secret vault that's accessed at run-time. But, as we all know, storing user credentials locally is not a good security practice.
43+
Auditing and reporting scenarios in Microsoft 365 often involve unattended scripts in Exchange Online PowerShell and Security & Compliance PowerShell. In the past, unattended sign in required you to store the username and password in a local file or in a secret vault that's accessed at run-time. But, as we all know, storing user credentials locally is not a good security practice.
3344

3445
Certificate based authentication (CBA) or app-only authentication as described in this article supports unattended script and automation scenarios by using Azure AD apps and self-signed certificates.
3546

@@ -46,7 +57,7 @@ The following examples show how to use the Exchange Online PowerShell V2 module
4657
Connect-ExchangeOnline -CertificateFilePath "C:\Users\johndoe\Desktop\automation-cert.pfx" -CertificatePassword (ConvertTo-SecureString -String "<MyPassword>" -AsPlainText -Force) -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"
4758
```
4859
49-
- **Security & Compliance Center PowerShell**:
60+
- **Security & Compliance PowerShell**:
5061
5162
```powershell
5263
Connect-IPPSSession -CertificateFilePath "C:\Users\johndoe\Desktop\automation-cert.pfx" -CertificatePassword (ConvertTo-SecureString -String "<MyPassword>" -AsPlainText -Force) -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"
@@ -60,7 +71,7 @@ The following examples show how to use the Exchange Online PowerShell V2 module
6071
Connect-ExchangeOnline -CertificateThumbPrint "012THISISADEMOTHUMBPRINT" -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"
6172
```
6273
63-
- **Security & Compliance Center PowerShell**:
74+
- **Security & Compliance PowerShell**:
6475
6576
```powershell
6677
Connect-IPPSSession -CertificateThumbPrint "012THISISADEMOTHUMBPRINT" -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"
@@ -76,7 +87,7 @@ The following examples show how to use the Exchange Online PowerShell V2 module
7687
Connect-ExchangeOnline -Certificate <%X509Certificate2 Object%> -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"
7788
```
7889
79-
- **Security & Compliance Center PowerShell**:
90+
- **Security & Compliance PowerShell**:
8091
8192
```powershell
8293
Connect-IPPSSession -Certificate <%X509Certificate2 Object%> -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"
@@ -166,7 +177,7 @@ For a detailed visual flow about creating applications in Azure AD, see <https:/
166177
167178
![Select Manifest on the application properties page.](media/exo-app-only-auth-select-manifest.png)
168179
169-
2. On the **Manifest** page that opens, find the `requiredResourceAccess` entry (on or about line 44).
180+
2. On the **Manifest** page that opens, find the `requiredResourceAccess` entry (on or about line 47).
170181
171182
Modify the `resourceAppId`, `resourceAccess`, `id`, and `type` values as shown in the following code snippet:
172183
@@ -194,6 +205,9 @@ For a detailed visual flow about creating applications in Azure AD, see <https:/
194205

195206
- **API / Permissions name**: Verify the value **Exchange.ManageAsApp** is shown.
196207

208+
> [!NOTE]
209+
> If necessary, search for **Office 365 Exchange** under **APIs my organization uses** on the **Request API Permissions** page.
210+
197211
- **Status**: The current incorrect value is **Not granted for \<Organization\>**, and this value needs to be changed.
198212

199213
![Original incorrect API permissions.](media/exo-app-only-auth-original-permissions.png)
@@ -267,7 +281,7 @@ After you register the certificate with your application, you can use the privat
267281

268282
Azure AD has more than 50 admin roles available. The supported roles are described in the following table:
269283

270-
|Role|Exchange Online PowerShell|Security & Compliance Center PowerShell|
284+
|Role|Exchange Online PowerShell|Security & Compliance PowerShell|
271285
|---|:---:|:---:|
272286
|Compliance Administrator|![Check mark.](media/checkmark.png)|![Check mark.](media/checkmark.png)|
273287
|Exchange Administrator<sup>\*</sup>|![Check mark.](media/checkmark.png)||
@@ -276,6 +290,7 @@ Azure AD has more than 50 admin roles available. The supported roles are describ
276290
|Helpdesk Administrator|![Check mark.](media/checkmark.png)||
277291
|Security Administrator<sup>\*</sup>|![Check mark.](media/checkmark.png)|![Check mark.](media/checkmark.png)|
278292
|Security Reader|![Check mark.](media/checkmark.png)|![Check mark.](media/checkmark.png)|
293+
|Exchange Recipient Administrator|![Check mark.](media/checkmark.png)||
279294

280295
<sup>\*</sup> The Global Administrator and Exchange Administrator roles provide the required permissions for any task in Exchange Online PowerShell. For example:
281296

@@ -287,7 +302,7 @@ The Security Administrator role does not have the necessary permissions for thos
287302
For general instructions about assigning roles in Azure AD, see [View and assign administrator roles in Azure Active Directory](/azure/active-directory/roles/manage-roles-portal).
288303

289304
> [!NOTE]
290-
> The following steps are slightly different for Exchange Online PowerShell vs. Security & Compliance Center PowerShell. The steps for both environments are shown. To configure roles for both environments, repeat the steps in this section.
305+
> The following steps are slightly different for Exchange Online PowerShell vs. Security & Compliance PowerShell. The steps for both environments are shown. To configure roles for both environments, repeat the steps in this section.
291306
292307
1. On the Azure AD portal at <https://portal.azure.com/>, under **Manage Azure Active Directory**, click **View**.
293308

@@ -303,19 +318,19 @@ For general instructions about assigning roles in Azure AD, see [View and assign
303318

304319
![Find and select a supported Exchange Online PowerShell role by clicking on the role name.](media/exo-app-only-auth-find-and-select-supported-role.png)
305320

306-
- **Security & Compliance Center PowerShell**:
321+
- **Security & Compliance PowerShell**:
307322

308-
![Find and select a supported Security & Compliance Center PowerShell role by clicking on the role name.](media/exo-app-only-auth-find-and-select-supported-role-scc.png)
323+
![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)
309324

310325
4. On the **Assignments** page that opens, click **Add assignments**.
311326

312327
- **Exchange Online PowerShell**:
313328

314329
![Select Add assignments on the role assignments page for Exchange Online PowerShell.](media/exo-app-only-auth-role-assignments-click-add-assignments.png)
315330

316-
- **Security & Compliance Center PowerShell**:
331+
- **Security & Compliance PowerShell**:
317332

318-
![Select Add assignments on the role assignments page for Security & Compliance Center PowerShell.](media/exo-app-only-auth-role-assignments-click-add-assignments-scc.png)
333+
![Select Add assignments on the role assignments page for Security & Compliance PowerShell.](media/exo-app-only-auth-role-assignments-click-add-assignments-scc.png)
319334

320335
5. In the **Add assignments** flyout that opens, find and select the app that you created in [Step 1](#step-1-register-the-application-in-azure-ad).
321336

@@ -329,6 +344,6 @@ For general instructions about assigning roles in Azure AD, see [View and assign
329344

330345
![The role assignments page after to added the app to the role for Exchange Online PowerShell.](media/exo-app-only-auth-app-assigned-to-role.png)
331346

332-
- **Security & Compliance Center PowerShell**:
347+
- **Security & Compliance PowerShell**:
333348

334-
![The role assignments page after to added the app to the role for Security & Compliance Center PowerShell.](media/exo-app-only-auth-app-assigned-to-role-scc.png)
349+
![The role assignments page after to added the app to the role for Security & Compliance PowerShell.](media/exo-app-only-auth-app-assigned-to-role-scc.png)

exchange/docs-conceptual/basic-auth-connect-to-eop-powershell.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ description: "Use remote PowerShell to connect to a standalone Exchange Online P
1717
# Bssic auth - Connect to Exchange Online Protection PowerShell
1818

1919
> [!NOTE]
20-
> The connection instructions in this article [will eventually be deprecated](https://techcommunity.microsoft.com/t5/exchange-team-blog/basic-authentication-and-exchange-online-july-update/ba-p/1530163) due to the security concerns around Basic authentication. Instead, you should use the Exchange Online PowerShell V2 module (the EXO V2 module) to connect to Exchange Online Protection PowerShell. For instructions, see [Connect to Exchange Online Protection PowerShell](connect-to-exchange-online-protection-powershell.md).
20+
> The connection instructions in this article [will be deprecated starting on October 1, 2022](https://techcommunity.microsoft.com/t5/exchange-team-blog/basic-authentication-deprecation-in-exchange-online-september/ba-p/3609437) due to the security concerns around Basic authentication. Instead, you should use the Exchange Online PowerShell V2 module (the EXO V2 module) to connect to Exchange Online Protection PowerShell. For instructions, see [Connect to Exchange Online Protection PowerShell](connect-to-exchange-online-protection-powershell.md).
2121
2222
In standalone Exchange Online Protection (EOP) organizations without Exchange Online mailboxes, standalone EOP PowerShell allows you to manage your EOP organization from the command line. You use Windows PowerShell on your local computer to create a remote PowerShell session to EOP. It's a simple three-step process where you enter your Microsoft 365 credentials, provide the required connection settings, and then import the EOP cmdlets into your local Windows PowerShell session so that you can use them.
2323

@@ -61,7 +61,7 @@ The following introductory video shows you how to connect to and use Exchange On
6161

6262
- WinRM needs to allow Basic authentication (it's enabled by default). We don't send the username and password combination, but the Basic authentication header is required to send the session's OAuth token, since the client-side WinRM implementation has no support for OAuth.
6363

64-
**Note**: You must temporarily enable WinRM to run the following commands. You can enable it by running the command: `winrm quickconfig`.
64+
**Note**: The following commands require that WinRM is enabled. To enable WinRM, run the following command: `winrm quickconfig`.
6565

6666
To verify that Basic authentication is enabled for WinRM, run this command **in a Command Prompt** (not in Windows PowerShell):
6767

exchange/docs-conceptual/basic-auth-connect-to-exo-powershell.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ description: "Learn how to use remote PowerShell to connect to Exchange Online w
2020
# Basic auth - Connect to Exchange Online PowerShell
2121

2222
> [!NOTE]
23-
> The connection instructions in this article [will eventually be deprecated](https://techcommunity.microsoft.com/t5/exchange-team-blog/basic-authentication-and-exchange-online-july-update/ba-p/1530163) due to the security concerns around Basic authentication. Instead, you should use the Exchange Online PowerShell V2 module (the EXO V2 module) to connect to Exchange Online PowerShell. For instructions, see [Connect to Exchange Online PowerShell](connect-to-exchange-online-powershell.md).
23+
> The connection instructions in this article [will be deprecated starting on October 1, 2022](https://techcommunity.microsoft.com/t5/exchange-team-blog/basic-authentication-deprecation-in-exchange-online-september/ba-p/3609437) due to the security concerns around Basic authentication. Instead, you should use the Exchange Online PowerShell V2 module (the EXO V2 module) to connect to Exchange Online PowerShell.
24+
If you're using PowerShell for administration, see [Connect to Exchange Online PowerShell](connect-to-exchange-online-powershell.md). If you're using PowerShell for automation, see [App-only authentication for unattended scripts](app-only-auth-powershell-v2.md).
2425

2526
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.
2627

@@ -64,7 +65,7 @@ The following introductory video shows you how to connect to and use Exchange On
6465

6566
- WinRM needs to allow Basic authentication (it's enabled by default). We don't send the username and password combination, but the Basic authentication header is required to send the session's OAuth token, since the client-side WinRM implementation has no support for OAuth.
6667

67-
**Note**: You must temporarily enable WinRM to run the following commands. You can enable it by running the command: `winrm quickconfig`.
68+
**Note**: You The following commands require that WinRM is enabled. To enable WinRM, run the following command: `winrm quickconfig`.
6869

6970
To verify that Basic authentication is enabled for WinRM, run this command **in a Command Prompt** (not in Windows PowerShell):
7071

0 commit comments

Comments
 (0)