Skip to content

Commit 691fbe6

Browse files
authored
Merge branch 'master' into master
2 parents 1830990 + 340e8e4 commit 691fbe6

File tree

2,047 files changed

+47906
-27610
lines changed

Some content is hidden

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

2,047 files changed

+47906
-27610
lines changed

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

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ author: chrisda
55
manager: dansimp
66
ms.date:
77
ms.audience: Admin
8+
audience: Admin
89
ms.topic: article
910
ms.service: exchange-online
1011
ms.reviewer: navgupta
@@ -53,15 +54,15 @@ The following examples show how to use the Exchange Online PowerShell V2 module
5354
>
5455
> - In the **Connect-ExchangeOnline** commands, be sure to use an `.onmicrosoft.com` ___domain in the _Organization_ parameter value. Otherwise, you might encounter cryptic permission issues when you run commands in the app context.
5556
>
56-
> - App-only authentication does not support delegation. Unattended scripting in delegation scenarios is supported with the Secure App Model. For more information, go [here](https://docs.microsoft.com/powershell/partnercenter/multi-factor-auth#exchange).
57+
> - App-only authentication does not support delegation. Unattended scripting in delegation scenarios is supported with the Secure App Model. For more information, go [here](/powershell/partnercenter/multi-factor-auth#exchange).
5758

5859
## How does it work?
5960

6061
The EXO V2 module uses the Active Directory Authentication Library to fetch an app-only token using the application Id, tenant Id (organization), and certificate thumbprint. The application object provisioned inside Azure AD has a Directory Role assigned to it, which is returned in the access token. Exchange Online configures the session RBAC using the directory role information that's available in the token.
6162

6263
## Set up app-only authentication
6364

64-
An initial onboarding is required for authentication using application objects. Application and service principal are used interchangeably, but an application is like a class object while a service principal is like an instance of the class. You can learn more about this at [Application and service principal objects in Azure Active Directory](https://docs.microsoft.com/azure/active-directory/develop/app-objects-and-service-principals).
65+
An initial onboarding is required for authentication using application objects. Application and service principal are used interchangeably, but an application is like a class object while a service principal is like an instance of the class. You can learn more about this at [Application and service principal objects in Azure Active Directory](/azure/active-directory/develop/app-objects-and-service-principals).
6566

6667
For a detailed visual flow about creating applications in Azure AD, see <https://aka.ms/azuread-app>.
6768

@@ -100,7 +101,7 @@ For a detailed visual flow about creating applications in Azure AD, see <https:/
100101

101102
## Step 1: Register the application in Azure AD
102103

103-
**Note**: If you encounter problems, check the [required permissions](https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal#required-permissions) to verify that your account can create the identity.
104+
**Note**: If you encounter problems, check the [required permissions](/azure/active-directory/develop/howto-create-service-principal-portal#required-permissions) to verify that your account can create the identity.
104105

105106
1. Open the Azure AD portal at <https://portal.azure.com/>.
106107

@@ -124,7 +125,7 @@ For a detailed visual flow about creating applications in Azure AD, see <https:/
124125

125126
- **Redirect URI (optional)**: In the first box, verify that **Web** is selected. In the second box, enter the URI where the access token is sent.
126127

127-
Note that you can't create credentials for [native applications](https://docs.microsoft.com/azure/active-directory/manage-apps/application-proxy-configure-native-client-application), because you can't use that type for automated applications.
128+
Note that you can't create credentials for [native applications](/azure/active-directory/manage-apps/application-proxy-configure-native-client-application), because you can't use that type for automated applications.
128129

129130
![Register an application](media/exo-app-only-auth-register-app.png)
130131

@@ -185,14 +186,14 @@ For a detailed visual flow about creating applications in Azure AD, see <https:/
185186

186187
Create a self-signed x.509 certificate using one of the following methods:
187188

188-
- (Recommended) Use the [New-SelfSignedCertificate](https://docs.microsoft.com/powershell/module/pkiclient/new-selfsignedcertificate), [Export-Certificate](https://docs.microsoft.com/powershell/module/pkiclient/export-certificate) and [Export-PfxCertificate](https://docs.microsoft.com/powershell/module/pkiclient/export-pfxcertificate) cmdlets in an elevated (run as administrator) Windows PowerShell session to request a self-signed certificate and export it to `.cer` and `.pfx` (SHA1 by default).
189+
- (Recommended) Use the [New-SelfSignedCertificate](/powershell/module/pkiclient/new-selfsignedcertificate), [Export-Certificate](/powershell/module/pkiclient/export-certificate) and [Export-PfxCertificate](/powershell/module/pkiclient/export-pfxcertificate) cmdlets in an elevated (run as administrator) Windows PowerShell session to request a self-signed certificate and export it to `.cer` and `.pfx` (SHA1 by default). For example:
189190

190191
```powershell
191192
# Create certificate
192193
$mycert = New-SelfSignedCertificate -DnsName "contoso.org" -CertStoreLocation "cert:\LocalMachine\My" -NotAfter (Get-Date).AddYears(1) -KeySpec KeyExchange
193194

194195
# Export certificate to .pfx file
195-
$mycert | Export-PfxCertificate -FilePath mycert.pfx -Password $(ConvertTo-SecureString -String "P@s$w0rd1234" -AsPlainText -Force)
196+
$mycert | Export-PfxCertificate -FilePath mycert.pfx -Password $(ConvertTo-SecureString -String "P@ssw0Rd1234" -AsPlainText -Force)
196197

197198
# Export certificate to .cer file
198199
$mycert | Export-Certificate -FilePath mycert.cer
@@ -250,7 +251,7 @@ Azure AD has more than 50 admin roles available. For app-only authentication in
250251
- Exchange administrator
251252
- Global Reader
252253

253-
For general instructions about assigning roles in Azure AD, see [View and assign administrator roles in Azure Active Directory](https://docs.microsoft.com/azure/active-directory/roles/manage-roles-portal).
254+
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).
254255

255256
1. On the Azure AD portal at <https://portal.azure.com/>, under **Manage Azure Active Directory**, click **View**.
256257

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

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ author: chrisda
55
manager: dansimp
66
ms.date:
77
ms.audience: Admin
8+
audience: Admin
89
ms.topic: article
910
ms.service: exchange-powershell
1011
localization_priority: Normal
@@ -32,7 +33,7 @@ The following introductory video shows you how to connect to and use Exchange On
3233

3334
- **The procedures in this article are only for EOP organizations that don't have Exchange Online mailboxes** (for example, you have a standalone EOP subscription that protects your on-premises email environment). If you have a Microsoft 365 subscription includes Exchange Online mailboxes, you can't connect to Exchange Online Protection PowerShell. The same features are available in [Exchange Online PowerShell](exchange-online-powershell.md).
3435

35-
- After you connect, the cmdlets and parameters that you have or don't have access to is controlled by role-based access control (RBAC). For more information, see [Permissions in standalone EOP](https://docs.microsoft.com/microsoft-365/security/office-365-security/feature-permissions-in-eop).
36+
- After you connect, the cmdlets and parameters that you have or don't have access to is controlled by role-based access control (RBAC). For more information, see [Permissions in standalone EOP](/microsoft-365/security/office-365-security/feature-permissions-in-eop).
3637

3738
- You can use the following versions of Windows:
3839

@@ -44,7 +45,7 @@ The following introductory video shows you how to connect to and use Exchange On
4445
- Windows 7 Service Pack 1 (SP1)<sup>\*</sup>
4546
- Windows Server 2008 R2 SP1<sup>\*</sup>
4647

47-
<sup>\*</sup> This version of Windows has reached end of support, and is now supported only in Azure virtual machines. To use this version of Windows, you need to install the Microsoft .NET Framework 4.5 or later and then an updated version of the Windows Management Framework: 3.0, 4.0, or 5.1 (only one). For more information, see [Install the .NET Framework](https://docs.microsoft.com/dotnet/framework/install/on-windows-7), [Windows Management Framework 3.0](https://aka.ms/wmf3download), [Windows Management Framework 4.0](https://aka.ms/wmf4download), and [Windows Management Framework 5.1](https://aka.ms/wmf5download).
48+
<sup>\*</sup> This version of Windows has reached end of support, and is now supported only in Azure virtual machines. To use this version of Windows, you need to install the Microsoft .NET Framework 4.5 or later and then an updated version of the Windows Management Framework: 3.0, 4.0, or 5.1 (only one). For more information, see [Install the .NET Framework](/dotnet/framework/install/on-windows-7), [Windows Management Framework 3.0](https://aka.ms/wmf3download), [Windows Management Framework 4.0](https://aka.ms/wmf4download), and [Windows Management Framework 5.1](https://aka.ms/wmf5download).
4849

4950
- Windows PowerShell needs to be configured to run scripts, and by default, it isn't. You'll get the following error when you try to connect:
5051

@@ -56,7 +57,7 @@ The following introductory video shows you how to connect to and use Exchange On
5657
Set-ExecutionPolicy RemoteSigned
5758
```
5859

59-
For more information about execution policies, see [About Execution Policies](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_execution_policies).
60+
For more information about execution policies, see [About Execution Policies](/powershell/module/microsoft.powershell.core/about/about_execution_policies).
6061

6162
- 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.
6263

@@ -130,7 +131,7 @@ If you receive errors, check the following requirements:
130131

131132
- TCP port 80 traffic needs to be open between your local computer and Microsoft 365. It's probably open, but it's something to consider if your organization has a restrictive Internet access policy.
132133

133-
- The account you use to connect to Exchange Online Protection PowerShell must be represented as a [mail user in EOP](https://docs.microsoft.com/microsoft-365/security/office-365-security/manage-mail-users-in-eop) (created manually or by directory synchronization). If the account is not visible in the Exchange admin center (EAC) as a mail user at **Recipients** \> **Contacts**, you'll receive the following error when you try to connect:
134+
- The account you use to connect to Exchange Online Protection PowerShell must be represented as a [mail user in EOP](/microsoft-365/security/office-365-security/manage-mail-users-in-eop) (created manually or by directory synchronization). If the account is not visible in the Exchange admin center (EAC) as a mail user at **Recipients** \> **Contacts**, you'll receive the following error when you try to connect:
134135

135136
> Import-PSSession : Running the Get-Command command in a remote session reported the following error: Processing data for a remote command failed with the following error message: The request for the Windows Remote Shell with ShellId <GUID> failed because the shell was not found on the server. Possible causes are: the specified ShellId is incorrect or the shell no longer exists on the server. Provide the correct ShellId or create a new shell and retry the operation.
136137

@@ -144,8 +145,8 @@ If you receive errors, check the following requirements:
144145

145146
The cmdlets that you use in this article are Windows PowerShell cmdlets. For more information about these cmdlets, see the following articles.
146147

147-
- [Get-Credential](https://docs.microsoft.com/powershell/module/microsoft.powershell.security/get-credential)
148-
- [New-PSSession](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/new-pssession)
149-
- [Import-PSSession](https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/import-pssession)
150-
- [Remove-PSSession](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/remove-pssession)
151-
- [Set-ExecutionPolicy](https://docs.microsoft.com/powershell/module/microsoft.powershell.security/set-executionpolicy)
148+
- [Get-Credential](/powershell/module/microsoft.powershell.security/get-credential)
149+
- [New-PSSession](/powershell/module/microsoft.powershell.core/new-pssession)
150+
- [Import-PSSession](/powershell/module/microsoft.powershell.utility/import-pssession)
151+
- [Remove-PSSession](/powershell/module/microsoft.powershell.core/remove-pssession)
152+
- [Set-ExecutionPolicy](/powershell/module/microsoft.powershell.security/set-executionpolicy)

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

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ author: chrisda
55
manager: dansimp
66
ms.date:
77
ms.audience: Admin
8+
audience: Admin
89
ms.topic: article
910
ms.service: exchange-powershell
1011
localization_priority: Priority
@@ -33,7 +34,7 @@ The following introductory video shows you how to connect to and use Exchange On
3334

3435
- Estimated time to complete: 5 minutes
3536

36-
- After you connect, the cmdlets and parameters that you have or don't have access to is controlled by role-based access control (RBAC). For more information, see [Permissions in Exchange Online](https://docs.microsoft.com/exchange/permissions-exo/permissions-exo).
37+
- After you connect, the cmdlets and parameters that you have or don't have access to is controlled by role-based access control (RBAC). For more information, see [Permissions in Exchange Online](/exchange/permissions-exo/permissions-exo).
3738

3839
- If your on-premises Exchange organization has Exchange Enterprise CAL with Services licenses, you can use the instructions in this article to connect to your EOP organization.
3940

@@ -47,7 +48,7 @@ The following introductory video shows you how to connect to and use Exchange On
4748
- Windows 7 Service Pack 1 (SP1)<sup>*</sup>
4849
- Windows Server 2008 R2 SP1<sup>*</sup>
4950

50-
<sup>\*</sup> This version of Windows has reached end of support, and is now supported only in Azure virtual machines. To use this version of Windows, you need to install the Microsoft .NET Framework 4.5 or later and then an updated version of the Windows Management Framework: 3.0, 4.0, or 5.1 (only one). For more information, see [Install the .NET Framework](https://docs.microsoft.com/dotnet/framework/install/on-windows-7), [Windows Management Framework 3.0](https://aka.ms/wmf3download), [Windows Management Framework 4.0](https://aka.ms/wmf4download), and [Windows Management Framework 5.1](https://aka.ms/wmf5download).
51+
<sup>\*</sup> This version of Windows has reached end of support, and is now supported only in Azure virtual machines. To use this version of Windows, you need to install the Microsoft .NET Framework 4.5 or later and then an updated version of the Windows Management Framework: 3.0, 4.0, or 5.1 (only one). For more information, see [Install the .NET Framework](/dotnet/framework/install/on-windows-7), [Windows Management Framework 3.0](https://aka.ms/wmf3download), [Windows Management Framework 4.0](https://aka.ms/wmf4download), and [Windows Management Framework 5.1](https://aka.ms/wmf5download).
5152

5253
- Windows PowerShell needs to be configured to run scripts, and by default, it isn't. You'll get the following error when you try to connect:
5354

@@ -59,7 +60,7 @@ The following introductory video shows you how to connect to and use Exchange On
5960
Set-ExecutionPolicy RemoteSigned
6061
```
6162

62-
For more information about execution policies, see [About Execution Policies](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_execution_policies).
63+
For more information about execution policies, see [About Execution Policies](/powershell/module/microsoft.powershell.core/about/about_execution_policies).
6364

6465
- 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.
6566

@@ -113,7 +114,7 @@ The following introductory video shows you how to connect to and use Exchange On
113114

114115
Then, add the following parameter and value to the end of the $Session = ... command: `-SessionOption $ProxyOptions`.
115116

116-
For more information, see [New-PSSessionOption](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/new-pssessionoption).
117+
For more information, see [New-PSSessionOption](/powershell/module/microsoft.powershell.core/new-pssessionoption).
117118

118119
3. Run the following command:
119120

@@ -148,10 +149,10 @@ If you receive errors, check the following requirements:
148149

149150
The cmdlets that you use in this article are Windows PowerShell cmdlets. For more information about these cmdlets, see the following articles.
150151

151-
- [Get-Credential](https://docs.microsoft.com/powershell/module/microsoft.powershell.security/get-credential)
152-
- [New-PSSession](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/new-pssession)
153-
- [Import-PSSession](https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/import-pssession)
154-
- [Remove-PSSession](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/remove-pssession)
155-
- [Set-ExecutionPolicy](https://docs.microsoft.com/powershell/module/microsoft.powershell.security/set-executionpolicy)
152+
- [Get-Credential](/powershell/module/microsoft.powershell.security/get-credential)
153+
- [New-PSSession](/powershell/module/microsoft.powershell.core/new-pssession)
154+
- [Import-PSSession](/powershell/module/microsoft.powershell.utility/import-pssession)
155+
- [Remove-PSSession](/powershell/module/microsoft.powershell.core/remove-pssession)
156+
- [Set-ExecutionPolicy](/powershell/module/microsoft.powershell.security/set-executionpolicy)
156157

157-
For more information about managing Microsoft 365, see [Manage Microsoft 365 and Office 365](https://docs.microsoft.com/Office365/).
158+
For more information about managing Microsoft 365, see [Manage Microsoft 365 and Office 365](/Office365/).

0 commit comments

Comments
 (0)