Skip to content

Commit 5a900eb

Browse files
committed
Merge branch 'main' into SafeAttach-chrisda
2 parents 7deff99 + 50349ec commit 5a900eb

File tree

296 files changed

+8330
-4959
lines changed

Some content is hidden

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

296 files changed

+8330
-4959
lines changed

.openpublishing.publish.config.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,10 @@
158158
},
159159
"build_entry_point": "docs",
160160
"template_folder": "_themes",
161-
"version": 0
161+
"version": 0,
162+
"monikerPath": [
163+
"mapping/monikerMapping.json"
164+
]
162165
},
163166
{
164167
"docset_name": "whiteboard-ps",

.openpublishing.redirection.json

Lines changed: 1330 additions & 1320 deletions
Large diffs are not rendered by default.

SECURITY.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<!-- BEGIN MICROSOFT SECURITY.MD V0.0.8 BLOCK -->
2+
3+
## Security
4+
5+
Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/).
6+
7+
If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below.
8+
9+
## Reporting Security Issues
10+
11+
**Please do not report security vulnerabilities through public GitHub issues.**
12+
13+
Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report).
14+
15+
If you prefer to submit without logging in, send email to [[email protected]](mailto:[email protected]). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey).
16+
17+
You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc).
18+
19+
Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
20+
21+
* Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
22+
* Full paths of source file(s) related to the manifestation of the issue
23+
* The location of the affected source code (tag/branch/commit or direct URL)
24+
* Any special configuration required to reproduce the issue
25+
* Step-by-step instructions to reproduce the issue
26+
* Proof-of-concept or exploit code (if possible)
27+
* Impact of the issue, including how an attacker might exploit the issue
28+
29+
This information will help us triage your report more quickly.
30+
31+
If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs.
32+
33+
## Preferred Languages
34+
35+
We prefer all communications to be in English.
36+
37+
## Policy
38+
39+
Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd).
40+
41+
<!-- END MICROSOFT SECURITY.MD BLOCK -->

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

Lines changed: 62 additions & 65 deletions
Large diffs are not rendered by default.

exchange/docs-conceptual/connect-exo-powershell-managed-identity.md

Lines changed: 545 additions & 0 deletions
Large diffs are not rendered by default.

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

Lines changed: 362 additions & 72 deletions
Large diffs are not rendered by default.

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

Lines changed: 41 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,24 @@ description: "Learn how to use the Exchange Online PowerShell V2 module or V3 mo
1818

1919
# Connect to Exchange Online Protection PowerShell
2020

21-
The Exchange Online PowerShell module uses modern authentication and works with multi-factor authentication (MFA) for connecting to all Exchange-related PowerShell environments in Microsoft 365: Exchange Online PowerShell, Security & Compliance PowerShell, and standalone Exchange Online Protection (EOP) PowerShell. For more information about the module, see [About the Exchange Online PowerShell module](exchange-online-powershell-v2.md).
21+
This article contains instructions for how to connect to Exchange Online Protection PowerShell using the Exchange Online PowerShell module with or without using multi-factor authentication (MFA).
22+
23+
The Exchange Online PowerShell module uses modern authentication for connecting to all Exchange-related PowerShell environments in Microsoft 365: Exchange Online PowerShell, Security & Compliance PowerShell, and standalone Exchange Online Protection (EOP) PowerShell. For more information about the module, see [About the Exchange Online PowerShell module](exchange-online-powershell-v2.md).
2224

2325
> [!NOTE]
2426
> Version 2.0.5 and earlier is known as the Exchange Online PowerShell V2 module (abbreviated as the EXO V2 module). Version 3.0.0 and later is known as the Exchange Online PowerShell V3 module (abbreviated as the EXO V3 module).
2527
26-
This article contains instructions for how to connect to Exchange Online Protection PowerShell using the Exchange Online PowerShell module with or without using MFA.
27-
28-
To use the older, less secure remote PowerShell connection instructions that [will eventually be deprecated](https://techcommunity.microsoft.com/t5/exchange-team-blog/basic-authentication-and-exchange-online-july-update/ba-p/1530163), see [Basic auth - Connect to Exchange Online Protection PowerShell](basic-auth-connect-to-eop-powershell.md).
28+
To use the older, less secure remote PowerShell connection instructions that [will eventually be deprecated](https://techcommunity.microsoft.com/t5/exchange-team-blog/basic-authentication-deprecation-in-exchange-online-september/ba-p/3609437), see [Basic auth - Connect to Exchange Online Protection PowerShell](basic-auth-connect-to-eop-powershell.md).
2929

3030
## What do you need to know before you begin?
3131

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

3434
If your organization is on-premises Exchange, and you have Exchange Enterprise CAL with Services licenses for EOP, your EOP PowerShell connection instructions are the same as Exchange Online PowerShell. Use the Exchange Online PowerShell connection instructions in [Connect to Exchange Online PowerShell](connect-to-exchange-online-powershell.md) instead of the instructions in this article.
3535

36-
- The requirements for installing and using the module are described in [Install and maintain the Exchange Online PowerShell module](exchange-online-powershell-v2.md#install-and-maintain-the-exchange-online-powershell-module). The rest of the instructions in the article assume that you've already installed the module.
36+
- The requirements for installing and using the module are described in [Install and maintain the Exchange Online PowerShell module](exchange-online-powershell-v2.md#install-and-maintain-the-exchange-online-powershell-module).
3737

38-
- 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).
38+
- 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](/exchange/standalone-eop/manage-admin-role-group-permissions-in-eop).
3939

4040
> [!TIP]
4141
> Having problems? Ask for help in the [Exchange Online Protection](https://go.microsoft.com/fwlink/p/?linkId=285351) forum.
@@ -44,46 +44,60 @@ To use the older, less secure remote PowerShell connection instructions that [wi
4444

4545
These connection instructions use modern authentication and work with or without multi-factor authentication (MFA).
4646

47-
1. After you've [installed the module](exchange-online-powershell-v2.md#install-and-maintain-the-exchange-online-powershell-module), open a PowerShell window and load the module by running the following command<sup>\*</sup>:
47+
## Step 1: Load the Exchange Online PowerShell module
48+
49+
> [!NOTE]
50+
> If the module is already installed, you can typically skip this step and run **Connect-IPPSSession** without manually loading the module first.
51+
52+
After you've [installed the module](exchange-online-powershell-v2.md#install-and-maintain-the-exchange-online-powershell-module), open a PowerShell window and load the module by running the following command:
4853

49-
```powershell
50-
Import-Module ExchangeOnlineManagement
51-
```
54+
```powershell
55+
Import-Module ExchangeOnlineManagement
56+
```
5257

53-
<sup>\*</sup> In modern versions of PowerShell, you can typically skip this step and run **Connect-IPPSSession** without loading the module first.
58+
## Step 2: Connect and authenticate
5459

55-
2. The command that you need to run uses the following syntax:
60+
The command that you need to run uses the following syntax:
5661

57-
```powershell
58-
Connect-IPPSSession -UserPrincipalName <UPN> [-ConnectionUri <URL>] [-AzureADAuthorizationEndPointUri <URL>] [-PSSessionOption $ProxyOptions]
59-
```
62+
```powershell
63+
Connect-IPPSSession -UserPrincipalName <UPN> -ConnectionUri `https://ps.protection.outlook.com/powershell-liveid/ [-PSSessionOption $ProxyOptions]
64+
```
6065

61-
- _\<UPN\>_ is your account in user principal name format (for example, `[email protected]`).
62-
- The required _ConnectionUri_ and _AzureADAuthorizationEndPointUrl_ values depend on the nature of your Microsoft 365 organization. For more information, see the parameter descriptions in [Connect-IPPSSession](/powershell/module/exchange/connect-ippssession).
63-
- If you're behind a proxy server, run this command first: `$ProxyOptions = New-PSSessionOption -ProxyAccessType <Value>`, where \<Value\> is `IEConfig`, `WinHttpConfig`, or `AutoDetect`. Then, use the _PSSessionOption_ parameter with the value `$ProxyOptions`. For more information, see [New-PSSessionOption](/powershell/module/microsoft.powershell.core/new-pssessionoption).
66+
For detailed syntax and parameter information, see [Connect-IPPSSession](/powershell/module/exchange/connect-ippssession).
6467

65-
**This example connects to Exchange Online Protection PowerShell in a Microsoft 365 organization**:
68+
- _\<UPN\>_ is your account in user principal name format (for example, `[email protected]`).
6669

67-
```powershell
68-
Connect-IPPSSession -UserPrincipalName [email protected] -ConnectionUri https://ps.protection.outlook.com/powershell-liveid/
69-
```
70+
- If you're behind a proxy server, you can use the _PSSessionOption_ parameter in the connection command. First, run this command: `$ProxyOptions = New-PSSessionOption -ProxyAccessType <Value>`, where \<Value\> is `IEConfig`, `WinHttpConfig`, or `AutoDetect`. Then, use the value `$ProxyOptions` for the _PSSessionOption_ parameter. For more information, see [New-PSSessionOption](/powershell/module/microsoft.powershell.core/new-pssessionoption).
7071

71-
For detailed syntax and parameter information, see [Connect-IPPSSession](/powershell/module/exchange/connect-exchangeonline).
72+
### Connect to Security & Compliance PowerShell with an interactive login prompt
7273

73-
> [!NOTE]
74-
> Be sure to disconnect the remote PowerShell session when you're finished. If you close the Windows PowerShell window without disconnecting the session, you could use up all the remote PowerShell sessions available to you, and you'll need to wait for the sessions to expire. To disconnect the remote PowerShell session, run the following command.
74+
This example connects to Exchange Online Protection PowerShell in a Microsoft 365 organization:
75+
76+
```powershell
77+
Connect-IPPSSession -UserPrincipalName [email protected] -ConnectionUri https://ps.protection.outlook.com/powershell-liveid/
78+
```
79+
80+
## Step 3: Disconnect when you're finished
81+
82+
Be sure to disconnect the session when you're finished. If you close the PowerShell window without disconnecting the session, you could use up all the sessions available to you, and you'll need to wait for the sessions to expire. To disconnect the session, run the following command.
7583

7684
```powershell
7785
Disconnect-ExchangeOnline
7886
```
7987

88+
To silently disconnect without a confirmation prompt, run the following command:
89+
90+
```powershell
91+
Disconnect-ExchangeOnline -Confirm:$false
92+
```
93+
8094
## How do you know you've connected successfully?
8195

82-
The Exchange Online Protection Protection cmdlets are imported into your local Windows PowerShell session and tracked by a progress bar. If you don't receive any errors, you connected successfully. A quick test is to run an Exchange Online Protection cmdlet, for example, **Get-TransportRule**, and see the results.
96+
The Exchange Online Protection Protection cmdlets are imported into your local Windows PowerShell session and tracked by a progress bar. If you don't receive any errors, you've connected successfully. A quick test is to run an Exchange Online Protection cmdlet, for example, **Get-AcceptedDomain**, and see the results.
8397

8498
If you receive errors, check the following requirements:
8599

86-
- A common problem is an incorrect password. Run the three steps again and pay close attention to the username and password that you use.
100+
- A common problem is an incorrect password. Run the connection steps again and pay close attention to the username and password that you use.
87101

88102
- To help prevent denial-of-service (DoS) attacks, you're limited to five open remote PowerShell connections to Exchange Online Protection.
89103

0 commit comments

Comments
 (0)