Skip to content

Commit 462483c

Browse files
committed
Merge branch 'main' into DefaultTenant-chrisda
2 parents 7f0f96c + 64be76e commit 462483c

File tree

182 files changed

+1998
-2926
lines changed

Some content is hidden

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

182 files changed

+1998
-2926
lines changed

.openpublishing.redirection.json

Lines changed: 54 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6347,12 +6347,12 @@
63476347
},
63486348
{
63496349
"source_path": "exchange/virtual-folder/exchange/users-and-groups/New-EOPDistributionGroup.md",
6350-
"redirect_url": "/powershell/module/exchange/new-eopdistributiongroup",
6350+
"redirect_url": "/powershell/module/exchange/new-distributiongroup",
63516351
"redirect_document_id": false
63526352
},
63536353
{
63546354
"source_path": "exchange/virtual-folder/exchange/users-and-groups/New-EOPMailUser.md",
6355-
"redirect_url": "/powershell/module/exchange/new-eopmailuser",
6355+
"redirect_url": "/powershell/module/exchange/new-mailuser",
63566356
"redirect_document_id": false
63576357
},
63586358
{
@@ -6387,12 +6387,12 @@
63876387
},
63886388
{
63896389
"source_path": "exchange/virtual-folder/exchange/users-and-groups/Remove-EOPDistributionGroup.md",
6390-
"redirect_url": "/powershell/module/exchange/remove-eopdistributiongroup",
6390+
"redirect_url": "/powershell/module/exchange/remove-distributiongroup",
63916391
"redirect_document_id": false
63926392
},
63936393
{
63946394
"source_path": "exchange/virtual-folder/exchange/users-and-groups/Remove-EOPMailUser.md",
6395-
"redirect_url": "/powershell/module/exchange/remove-eopmailuser",
6395+
"redirect_url": "/powershell/module/exchange/remove-mailuser",
63966396
"redirect_document_id": false
63976397
},
63986398
{
@@ -6432,22 +6432,22 @@
64326432
},
64336433
{
64346434
"source_path": "exchange/virtual-folder/exchange/users-and-groups/Set-EOPDistributionGroup.md",
6435-
"redirect_url": "/powershell/module/exchange/set-eopdistributiongroup",
6435+
"redirect_url": "/powershell/module/exchange/set-distributiongroup",
64366436
"redirect_document_id": false
64376437
},
64386438
{
64396439
"source_path": "exchange/virtual-folder/exchange/users-and-groups/Set-EOPGroup.md",
6440-
"redirect_url": "/powershell/module/exchange/set-eopgroup",
6440+
"redirect_url": "/powershell/module/exchange/set-group",
64416441
"redirect_document_id": false
64426442
},
64436443
{
64446444
"source_path": "exchange/virtual-folder/exchange/users-and-groups/Set-EOPMailUser.md",
6445-
"redirect_url": "/powershell/module/exchange/set-eopmailuser",
6445+
"redirect_url": "/powershell/module/exchange/set-mailuser",
64466446
"redirect_document_id": false
64476447
},
64486448
{
64496449
"source_path": "exchange/virtual-folder/exchange/users-and-groups/Set-EOPUser.md",
6450-
"redirect_url": "/powershell/module/exchange/set-eopuser",
6450+
"redirect_url": "/powershell/module/exchange/set-user",
64516451
"redirect_document_id": false
64526452
},
64536453
{
@@ -6492,7 +6492,7 @@
64926492
},
64936493
{
64946494
"source_path": "exchange/virtual-folder/exchange/users-and-groups/Update-EOPDistributionGroupMember.md",
6495-
"redirect_url": "/powershell/module/exchange/update-eopdistributiongroupmember",
6495+
"redirect_url": "/powershell/module/exchange/update-distributiongroupmember",
64966496
"redirect_document_id": false
64976497
},
64986498
{
@@ -6874,6 +6874,51 @@
68746874
"source_path": "exchange/docs-conceptual/v1-module-mfa-connect-to-exo-powershell.md",
68756875
"redirect_url": "/powershell/exchange/connect-to-exchange-online-powershell",
68766876
"redirect_document_id": false
6877+
},
6878+
{
6879+
"source_path": "exchange/virtual-folder/exchange/New-EOPDistributionGroup.md",
6880+
"redirect_url": "/powershell/module/exchange/new-distributiongroup",
6881+
"redirect_document_id": false
6882+
},
6883+
{
6884+
"source_path": "exchange/virtual-folder/exchange/New-EOPMailUser.md",
6885+
"redirect_url": "/powershell/module/exchange/new-mailuser",
6886+
"redirect_document_id": false
6887+
},
6888+
{
6889+
"source_path": "exchange/virtual-folder/exchange/Remove-EOPDistributionGroup.md",
6890+
"redirect_url": "/powershell/module/exchange/remove-distributiongroup",
6891+
"redirect_document_id": false
6892+
},
6893+
{
6894+
"source_path": "exchange/virtual-folder/exchange/Remove-EOPMailUser.md",
6895+
"redirect_url": "/powershell/module/exchange/remove-mailuser",
6896+
"redirect_document_id": false
6897+
},
6898+
{
6899+
"source_path": "exchange/virtual-folder/exchange/Set-EOPDistributionGroup.md",
6900+
"redirect_url": "/powershell/module/exchange/set-distributiongroup",
6901+
"redirect_document_id": false
6902+
},
6903+
{
6904+
"source_path": "exchange/virtual-folder/exchange/Set-EOPGroup.md",
6905+
"redirect_url": "/powershell/module/exchange/set-group",
6906+
"redirect_document_id": false
6907+
},
6908+
{
6909+
"source_path": "exchange/virtual-folder/exchange/Set-EOPMailUser.md",
6910+
"redirect_url": "/powershell/module/exchange/set-mailuser",
6911+
"redirect_document_id": false
6912+
},
6913+
{
6914+
"source_path": "exchange/virtual-folder/exchange/Set-EOPUser.md",
6915+
"redirect_url": "/powershell/module/exchange/set-user",
6916+
"redirect_document_id": false
6917+
},
6918+
{
6919+
"source_path": "exchange/virtual-folder/exchange/Update-EOPDistributionGroupMember.md",
6920+
"redirect_url": "/powershell/module/exchange/update-distributiongroupmember",
6921+
"redirect_document_id": false
68776922
}
68786923
]
68796924
}

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,6 @@ To connect to Exchange Online PowerShell from C#, see [Use C# to connect to Exch
4242

4343
To find the permissions that are required to run specific Exchange Online cmdlets, see [Find the permissions required to run any Exchange cmdlet](find-exchange-cmdlet-permissions.md).
4444

45-
- If your organization is on-premises Exchange, and you have Exchange Enterprise CAL with Services licenses for Exchange Online Protection (EOP), your EOP PowerShell connection instructions are the same as Exchange Online PowerShell as described in this article.
46-
4745
> [!TIP]
4846
> Having problems? Ask in the [Exchange Online](https://go.microsoft.com/fwlink/p/?linkId=267542) forum.
4947

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

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,17 @@ This article contains instructions for how to connect to Exchange Online Protect
2222

2323
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).
2424

25+
For more information about Exchange Online Protection PowerShell, see [Exchange Online Protection PowerShell](exchange-online-protection-powershell.md).
26+
2527
> [!NOTE]
2628
> 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).
29+
>
30+
> As of June 2020, the instructions for connecting to standalone Exchange Online Protection PowerShell and Exchange Online PowerShell are basically the same. If you use the **Connect-IPPSSession** cmdlet with the _ConnectionUri_ parameter value `https://ps.protection.outlook.com/powershell-liveid/`, you're redirected to the same `https://outlook.office365.com/powershell-liveid/` endpoint that's used by **Connect-ExchangeOnline** for Exchange Online PowerShell connections.
31+
>
32+
> Remote PowerShell support in Exchange Online PowerShell will be deprecated. For more information, see [Announcing Deprecation of Remote PowerShell (RPS) Protocol in Exchange Online PowerShell](https://aka.ms/RPSDeprecation).
2733
2834
## What do you need to know before you begin?
2935

30-
- **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).
31-
32-
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.
33-
3436
- 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).
3537

3638
- 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).
@@ -45,7 +47,7 @@ These connection instructions use modern authentication and work with or without
4547
## Step 1: Load the Exchange Online PowerShell module
4648

4749
> [!NOTE]
48-
> If the module is already installed, you can typically skip this step and run **Connect-IPPSSession** without manually loading the module first.
50+
> If the module is already installed, you can typically skip this step and run **Connect-ExchangeOnline** without manually loading the module first.
4951
5052
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:
5153

@@ -55,24 +57,29 @@ Import-Module ExchangeOnlineManagement
5557

5658
## Step 2: Connect and authenticate
5759

60+
> [!NOTE]
61+
> Connect commands will likely fail if the profile path of the account that you used to connect contains special PowerShell characters (for example, `$`). The workaround is to connect using a different account that doesn't have special characters in the profile path.
62+
5863
The command that you need to run uses the following syntax:
5964

6065
```powershell
61-
Connect-IPPSSession -UserPrincipalName <UPN> -ConnectionUri `https://ps.protection.outlook.com/powershell-liveid/ [-PSSessionOption $ProxyOptions]
66+
Connect-ExchangeOnline -UserPrincipalName <UPN> [-UseRPSSession] [-PSSessionOption $ProxyOptions] [-ShowBanner:$false]
6267
```
6368

6469
For detailed syntax and parameter information, see [Connect-IPPSSession](/powershell/module/exchange/connect-ippssession).
6570

6671
- _\<UPN\>_ is your account in user principal name format (for example, `[email protected]`).
6772

68-
- 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).
73+
- With the EXO V3 module (v3.0.0 or later), if you don't use the _UseRPSSession_ switch, you're using REST API cmdlets only. For more information, see [Updates for the EXO V3 module)](exchange-online-powershell-v2.md#updates-for-the-exo-v3-module).
74+
75+
- If you're behind a proxy server, you can use the _PSSessionOption_ parameter in the connection command, but only if you also use the _UseRPSSession_ switch. 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).
6976

70-
### Connect to Security & Compliance PowerShell with an interactive login prompt
77+
### Connect to Exchange Online Protection PowerShell with an interactive login prompt
7178

72-
This example connects to Exchange Online Protection PowerShell in a Microsoft 365 organization:
79+
This example works in Windows PowerShell 5.1 and PowerShell 7 for accounts with or without MFA:
7380

7481
```powershell
75-
Connect-IPPSSession -UserPrincipalName [email protected] -ConnectionUri https://ps.protection.outlook.com/powershell-liveid/
82+
Connect-ExchangeOnline -UserPrincipalName [email protected]
7683
```
7784

7885
## Step 3: Disconnect when you're finished
@@ -101,10 +108,6 @@ If you receive errors, check the following requirements:
101108

102109
- 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.
103110

104-
- The account that 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:
105-
106-
> 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.
107-
108111
- You might fail to connect if your client IP address changes during the connection request. This can happen if your organization uses a source network address translation (SNAT) pool that contains multiple IP addresses. The connection error looks like this:
109112

110113
> The request for the Windows Remote Shell with ShellId \<ID\> 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.

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

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,14 @@ description: "Learn about using PowerShell in Exchange Online Protection"
1515

1616
# Exchange Online Protection PowerShell
1717

18-
Exchange Online Protection PowerShell is the administrative interface that enables you to manage your standalone Exchange Online Protection (EOP) organization from the command line. For example, you can use Exchange Online Protection PowerShell to configure mail flow rules (also known as transport rules) and connectors.
18+
Exchange Online Protection PowerShell is the administrative interface that enables you to manage your standalone Exchange Online Protection (EOP) organization from the command line. For example, you can use Exchange Online Protection PowerShell to configure anti-spam policies, mail flow rules (also known as transport rules) and connectors.
1919

20-
> [!NOTE]
21-
> Exchange Online Protection PowerShell is only used in *standalone* EOP organizations. For example, your Microsoft 365 subscription only includes EOP (no Exchange mailboxes), and you use EOP to protect your on-premises email environment. If you have a Microsoft 365 subscription that includes Exchange Online mailboxes (A3/E3/G3, A5/E5/G5, Microsoft 365 Business Premium, etc.), you can't use Exchange Online Protection PowerShell; the same features are available in [Exchange Online PowerShell](exchange-online-powershell.md).
20+
Exchange Online Protection PowerShell includes the following Microsoft 365 environments:
21+
22+
- **Standalone EOP organizations**: Your Microsoft 365 subscription includes no Exchange Online mailboxes, because you use EOP to protect your on-premises email environment.
23+
- **Exchange Enterprise CAL with Services**: The licenses for your on-premises Exchange organization include Exchange Enterprise CAL with Services (EOP is one of the services).
24+
25+
If your Microsoft 365 subscription includes Exchange Online mailboxes (A3/E3/G3, A5/E5/G5, Microsoft 365 Business Premium, etc.), the same EOP features are available in [Exchange Online PowerShell](exchange-online-powershell.md).
2226

2327
The following articles provide information about using Exchange Online Protection PowerShell:
2428

@@ -27,8 +31,8 @@ The following articles provide information about using Exchange Online Protectio
2731
> [!NOTE]
2832
> 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).
2933
30-
- To create a remote PowerShell session to your standalone Exchange Online Protection organization that supports both modern authentication and multi-factor authentication (MFA), see [Connect to Exchange Online Protection PowerShell](connect-to-exchange-online-protection-powershell.md).
34+
- To use PowerShell to connect to your standalone Exchange Online Protection organization using modern authentication and multi-factor authentication (MFA), see [Connect to Exchange Online Protection PowerShell](connect-to-exchange-online-protection-powershell.md).
3135

3236
- To learn about the structure and layout of the cmdlet reference articles in Exchange Online Protection PowerShell, see [Exchange cmdlet syntax](exchange-cmdlet-syntax.md).
3337

34-
- For a sample script that lets admins who manage multiple organizations apply configuration settings to all of their organizations, see [Sample script for applying EOP settings to multiple tenants](/microsoft-365/security/office-365-security/sample-script-for-applying-eop-settings-to-multiple-tenants).
38+
- For a sample script that lets admins who manage multiple organizations apply configuration settings to all of their organizations, see [Sample script for applying EOP settings to multiple tenants](/exchange/standalone-eop/sample-script-standalone-eop-settings-to-multiple-tenants).

exchange/docs-conceptual/filter-properties.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1833,7 +1833,7 @@ For example, `Get-User -Filter "UpgradeStatus -ne 'None'"`.
18331833
|---|---|---|
18341834
|_msExchUsageLocation_|**Get-Mailbox** <br> **Get-MailUser** <br> **Get-Recipient**|String or `$null`|
18351835

1836-
This filter requires the ISO 3166-1 country name (for example, `United States`), or two-letter country code (for example `US`) for the user in Microsoft 365. For more information, see [Country Codes - ISO 3166](https://www.iso.org/iso-3166-country-codes.html). <br> For example, `Get-Recipient -Filter 'UsageLocation -ne $null'`.
1836+
This filter requires the ISO 3166-1 country name (for example, `United States`), or two-letter country code (for example `US`) for the user in Microsoft 365. For more information, see [Country Codes - ISO 3166](https://www.iso.org/iso-3166-country-codes.html). <br> For example, `Get-Recipient -Filter 'UsageLocation -eq "US"'`.
18371837

18381838
### UseDatabaseQuotaDefaults
18391839

0 commit comments

Comments
 (0)