Skip to content

Commit 995caca

Browse files
authored
Merge branch 'main' into patch-13
2 parents cd14f85 + 3dedde2 commit 995caca

File tree

770 files changed

+11831
-5609
lines changed

Some content is hidden

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

770 files changed

+11831
-5609
lines changed

.openpublishing.redirection.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7133,6 +7133,16 @@
71337133
"redirect_url": "/exchange/exchange-hybrid",
71347134
"redirect_document_id": false
71357135
},
7136+
{
7137+
"source_path": "exchange/virtual-folder/exchange/Get-PhishSimOverrideRule.md",
7138+
"redirect_url": "/powershell/module/exchange/get-exophishsimoverriderule",
7139+
"redirect_document_id": false
7140+
},
7141+
{
7142+
"source_path": "exchange/virtual-folder/exchange/Get-SecOpsOverrideRule.md",
7143+
"redirect_url": "/powershell/module/exchange/get-exosecopsoverriderule",
7144+
"redirect_document_id": false
7145+
},
71367146
{
71377147
"source_path": "skype/virtual-folder/skype/Disable-CsOnlineSipDomain.md",
71387148
"redirect_url": "/powershell/module/teams/Disable-CsOnlineSipDomain",

exchange/docs-conceptual/disable-access-to-exchange-online-powershell.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "Enable or disable access to Exchange Online PowerShell"
33
ms.author: chrisda
44
author: chrisda
55
manager: deniseb
6-
ms.date: 5/16/2024
6+
ms.date: 12/11/2024
77
ms.audience: Admin
88
audience: Admin
99
ms.topic: article
@@ -18,7 +18,7 @@ description: "Admins can learn how to disable or enable access to Exchange Onlin
1818

1919
Exchange Online PowerShell is the administrative interface that enables admins to manage the Exchange Online part of a Microsoft 365 organization from the command line (including many security features in Exchange Online Protection and Microsoft Defender for Office 365).
2020

21-
By default, all accounts in Microsoft 365 are allowed to use Exchange Online PowerShell. This access doesn't give users administrative capabilities in an organization. They're still limited by [role based access control (RBAC)](/exchange/permissions-exo/permissions-exo) (for example, they can configure settings on their own mailbox or manage distribution groups that they own, but not much else).
21+
By default, all accounts in Microsoft 365 are allowed to use Exchange Online PowerShell. This access doesn't give users administrative capabilities. They're still limited by [role based access control (RBAC)](/exchange/permissions-exo/permissions-exo). For example, they can configure some settings on their own mailbox and manage distribution groups that they own, but not much else.
2222

2323
Admins can use the procedures in this article to disable or enable a user's ability to connect to Exchange Online PowerShell.
2424

@@ -33,7 +33,7 @@ Admins can use the procedures in this article to disable or enable a user's abil
3333
- [Microsoft Entra RBAC](/microsoft-365/admin/add-users/about-admin-roles): Membership in the **Exchange Administrator** or **Global Administrator**<sup>\*</sup> roles gives users the required permissions *and* permissions for other features in Microsoft 365.
3434

3535
> [!IMPORTANT]
36-
> In your haste to quickly and globally disable PowerShell access in your cloud-based organization, beware of commands like `Get-User | Set-User -EXOModuleEnabled $false` without considering admin accounts. Use the procedures in this article to selectively remove PowerShell access, or preserve access for those who need it by using the following syntax in your global removal command: `Get-User | Where-Object {$_.UserPrincipalName -ne 'admin1@contoso.onmicrosoft.com' -and $_.UserPrincipalName -ne 'admin2@contoso.onmicrosoft.com'...} | Set-User -EXOModuleEnabled $false`.
36+
> In your haste to quickly and globally disable PowerShell access in your cloud-based organization, beware of commands like `Get-User | Set-User -EXOModuleEnabled $false` without considering admin accounts. Use the procedures in this article to **selectively** remove PowerShell access, or **preserve access for those who need it** by using the following syntax in your global removal command: `Get-User | Where-Object {$_.UserPrincipalName -ne 'admin1@contoso.onmicrosoft.com' -and $_.UserPrincipalName -ne 'admin2@contoso.onmicrosoft.com'...} | Set-User -EXOModuleEnabled $false`.
3737
>
3838
> If you accidentally lock yourself out of PowerShell access, create a new admin account in the Microsoft 365 admin center, and then use that account to give yourself PowerShell access using the procedures in this article.
3939
>
@@ -62,7 +62,7 @@ Set-User -Identity chris@contoso.onmicrosoft.com -EXOModuleEnabled $true
6262

6363
To prevent access to Exchange Online PowerShell for a specific group of existing users, you have the following options:
6464

65-
- **Filter users based on an existing attribute**: This method assumes that the target user accounts all share a unique filterable attribute. Some attributes, such as Title, Department, address information, and telephone number, are available only from the **Get-User** cmdlet. Other attributes, such as CustomAttribute1 to CustomAttribute15, are available only from the **Get-Mailbox** cmdlet.
65+
- **Filter users based on an existing attribute**: This method assumes that the target user accounts all share a unique filterable attribute. Some attributes (for example, Title, Department, address information, and telephone number) are available only from the **Get-User** cmdlet. Other attributes (for example, CustomAttribute1 to CustomAttribute15) are available only from the **Get-Mailbox** cmdlet.
6666
- **Use a list of specific users**: After you generate the list of specific users, you can use that list to disable their access to Exchange Online PowerShell.
6767

6868
### Filter users based on an existing attribute
@@ -107,6 +107,9 @@ $NoPS | foreach {Set-User -Identity $_ -EXOModuleEnabled $false}
107107

108108
## View the Exchange Online PowerShell access status for users
109109

110+
> [!TIP]
111+
> The newer `EXOModuleEnabled` property isn't available to use with the *Filter* parameter on the **Get-User** cmdlet, but the values of the `EXOModuleEnabled` property and the older `RemotePowerShellEnabled` property are always the same, so use the `RemotePowerShellEnabled` property with the *Filter* parameter on the **Get-User** cmdlet.
112+
110113
To view the PowerShell access status for a specific user, replace \<UserIdentity\> with the name or user principal name (UPN) of the user, and run the following command:
111114

112115
```powershell
@@ -122,11 +125,11 @@ Get-User -ResultSize unlimited | Format-Table -Auto DisplayName,EXOModuleEnabled
122125
To display all users who don't have access to Exchange Online PowerShell, run the following command:
123126

124127
```powershell
125-
Get-User -ResultSize unlimited -Filter 'EXOModuleEnabled -eq $false'
128+
Get-User -ResultSize unlimited -Filter 'RemotePowerShellEnabled -eq $false'
126129
```
127130

128131
To display all users who have access to Exchange Online PowerShell, run the following command:
129132

130133
```powershell
131-
Get-User -ResultSize unlimited -Filter 'EXOModuleEnabled -eq $true'
134+
Get-User -ResultSize unlimited -Filter 'RemotePowerShellEnabled -eq $true'
132135
```

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: About the Exchange Online PowerShell V3 module
33
ms.author: chrisda
44
author: chrisda
55
manager: deniseb
6-
ms.date: 09/25/2024
6+
ms.date: 10/28/2024
77
ms.audience: Admin
88
audience: Admin
99
ms.topic: article
@@ -193,6 +193,9 @@ Miscellaneous Exchange Online cmdlets that happen to be in the module are listed
193193
|[Get-VivaModuleFeaturePolicy](/powershell/module/exchange/get-vivamodulefeaturepolicy)|Available in v3.2.0 or later.|
194194
|[Remove-VivaModuleFeaturePolicy](/powershell/module/exchange/remove-vivamodulefeaturepolicy)|Available in v3.2.0 or later.|
195195
|[Update-VivaModuleFeaturePolicy](/powershell/module/exchange/update-vivamodulefeaturepolicy)|Available in v3.2.0 or later.|
196+
|[Add-VivaOrgInsightsDelegatedRole](/powershell/module/exchange/add-vivaorginsightsdelegatedrole)|Available in v3.7.0-Preview1 or later.|
197+
|[Get-VivaOrgInsightsDelegatedRole](/powershell/module/exchange/get-vivaorginsightsdelegatedrole)|Available in v3.7.0-Preview1 or later.|
198+
|[Remove-VivaOrgInsightsDelegatedRole](/powershell/module/exchange/remove-vivaorginsightsdelegatedrole)|Available in v3.7.0-Preview1 or later.|
196199

197200
## Install and maintain the Exchange Online PowerShell module
198201

exchange/docs-conceptual/recipient-filters.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "Recipient filters in Exchange PowerShell commands"
33
ms.author: chrisda
44
author: chrisda
55
manager: deniseb
6-
ms.date: 9/7/2023
6+
ms.date: 09/07/2023
77
ms.audience: ITPro
88
audience: ITPro
99
ms.topic: reference

exchange/docs-conceptual/recipientfilter-properties.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "Filterable properties for the RecipientFilter parameter"
33
ms.author: chrisda
44
author: chrisda
55
manager: deniseb
6-
ms.date:
6+
ms.date: 09/07/2023
77
ms.audience: ITPro
88
audience: ITPro
99
ms.topic: article

exchange/exchange-ps/exchange/Add-VivaModuleFeaturePolicy.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,35 +109,35 @@ This example adds a policy for the Reflection feature in Viva Insights. The poli
109109
Add-VivaModuleFeaturePolicy -CategoryId <category_id> -Name DisableCategoryForAll -IsCategoryEnabled $false -Everyone
110110
```
111111

112-
This example adds a policy for the `<cateogry_id>` category in Viva. The policy disables the category (effectively all features under the category) for all users in the organization.
112+
This example adds a policy for the `<category_id>` category in Viva. The policy disables the category (effectively all features under the category) for all users in the organization.
113113

114114
### Example 6
115115
```powershell
116116
Add-VivaModuleFeaturePolicy -CategoryId <category_id> -Name MultipleGroups -IsCategoryEnabled $false -GroupIds group1@contoso.com,group2@contoso.com,57680382-61a5-4378-85ad-f72095d4e9c3
117117
```
118118

119-
This example adds a policy for the `<cateogry_id>` category in Viva. The policy disables the category (effectively all features under the category) for all users in the specified groups.
119+
This example adds a policy for the `<category_id>` category in Viva. The policy disables the category (effectively all features under the category) for all users in the specified groups.
120120

121121
### Example 7
122122
```powershell
123123
Add-VivaModuleFeaturePolicy -CategoryId <category_id> -Name MultipleUsers -IsCategoryEnabled $false -UserIds user1@contoso.com,user2@contoso.com
124124
```
125125

126-
This example adds a policy for the `<cateogry_id>` category in Viva. The policy disables the category (effectively all features under the category) for the specified users.
126+
This example adds a policy for the `<category_id>` category in Viva. The policy disables the category (effectively all features under the category) for the specified users.
127127

128128
### Example 8
129129
```powershell
130130
Add-VivaModuleFeaturePolicy -CategoryId <category_id> -Name UsersAndGroups -IsCategoryEnabled $false -GroupIds group1@contoso.com,group2@contoso.com,57680382-61a5-4378-85ad-f72095d4e9c3 -UserIds user1@contoso.com,user2@contoso.com
131131
```
132132

133-
This example adds a policy for the `<cateogry_id>` category in Viva. The policy disables the category (effectively all features under the category) for the specified users and group members.
133+
This example adds a policy for the `<category_id>` category in Viva. The policy disables the category (effectively all features under the category) for the specified users and group members.
134134

135135
### Example 9
136136
```powershell
137137
Add-VivaModuleFeaturePolicy -CategoryId <category_id> -Name "Disable Category For All" -IsCategoryEnabled $false -Everyone
138138
```
139139

140-
This example adds a policy for the `<cateogry_id>` category in Viva where the policy name is with spaces. The policy disables the category (effectively all features under the category) for all users in the organization.
140+
This example adds a policy for the `<category_id>` category in Viva where the policy name is with spaces. The policy disables the category (effectively all features under the category) for all users in the organization.
141141

142142
## PARAMETERS
143143

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
---
2+
external help file: Microsoft.Exchange.Management.RestApiClient.dll-Help.xml
3+
Module Name: ExchangeOnlineManagement
4+
online version: https://learn.microsoft.com/powershell/module/exchange/add-vivaorginsightsdelegatedrole
5+
title: Add-VivaOrgInsightsDelegatedRole
6+
schema: 2.0.0
7+
author: chrisda
8+
ms.author: chrisda
9+
ms.reviewer:
10+
---
11+
12+
# Add-VivaOrgInsightsDelegatedRole
13+
14+
## SYNOPSIS
15+
This cmdlet is available only in the Exchange Online PowerShell module v3.7.0-Preview1 or later. For more information, see [About the Exchange Online PowerShell module](https://aka.ms/exov3-module).
16+
17+
Use the Add-VivaOrgInsightsDelegatedRole cmdlet to add delegate access to the specified account (the delegate) so they can view organizational insights like the leader (the delegator).
18+
19+
For information about the parameter sets in the Syntax section below, see [Exchange cmdlet syntax](https://learn.microsoft.com/powershell/exchange/exchange-cmdlet-syntax).
20+
21+
## SYNTAX
22+
23+
```
24+
Add-VivaOrgInsightsDelegatedRole -Delegate <Guid> -Delegator <Guid>
25+
[-ResultSize <Unlimited>]
26+
[<CommonParameters>]
27+
```
28+
29+
## DESCRIPTION
30+
To run this cmdlet, you need to be a member of one of the following role groups in Microsoft Entra ID in the destination organization:
31+
32+
- Global Administrator
33+
- Insights Administrator
34+
35+
> [!IMPORTANT]
36+
> Microsoft recommends that you use roles with the fewest permissions. Using lower permissioned accounts helps improve security for your organization. Global Administrator is a highly privileged role that should be limited to emergency scenarios when you can't use an existing role.
37+
38+
## EXAMPLES
39+
40+
### Example 1
41+
```powershell
42+
Add-VivaOrgInsightsDelegatedRole -Delegate 5eaf7164-f36f-5381-5546-dcaa1792f077 -Delegator 043f6d38-378b-7dcd-7cd8-c1a901881fa9
43+
```
44+
45+
This example adds the organization insights viewing capability of the specified delegator account to the specified delegate account.
46+
47+
## PARAMETERS
48+
49+
### -Delegate
50+
The Delegate parameter specifies the account that can view organizational insights like the leader (the account specified by the Delegator account).
51+
52+
A valid value for this parameter is the Microsoft Entra ObjectId value of the delegate account. Use the [Get-MgUser](https://learn.microsoft.com/powershell/module/microsoft.graph.users/get-mguser) cmdlet in Microsoft Graph PowerShell to find this value.
53+
54+
```yaml
55+
Type: Guid
56+
Parameter Sets: (All)
57+
Aliases:
58+
Applicable: Exchange Online
59+
60+
Required: True
61+
Position: Named
62+
Default value: None
63+
Accept pipeline input: False
64+
Accept wildcard characters: False
65+
```
66+
67+
### -Delegator
68+
The Delegator parameter specifies the account of the leader that can view organizational insights. This capability is delegated to the account specified by the Delegate parameter.
69+
70+
A valid value for this parameter is the ObjectID value of the delegator account. Use the [Get-MgUser](https://learn.microsoft.com/powershell/module/microsoft.graph.users/get-mguser) cmdlet in Microsoft Graph PowerShell to find this value.
71+
72+
```yaml
73+
Type: Guid
74+
Parameter Sets: (All)
75+
Aliases:
76+
Applicable: Exchange Online
77+
78+
Required: True
79+
Position: Named
80+
Default value: None
81+
Accept pipeline input: False
82+
Accept wildcard characters: False
83+
```
84+
85+
### -ResultSize
86+
This parameter is reserved for internal Microsoft use.
87+
88+
```yaml
89+
Type: Unlimited
90+
Parameter Sets: (All)
91+
Aliases:
92+
Applicable: Exchange Online
93+
94+
Required: False
95+
Position: Named
96+
Default value: None
97+
Accept pipeline input: False
98+
Accept wildcard characters: False
99+
```
100+
101+
### CommonParameters
102+
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/p/?LinkID=113216).
103+
104+
## INPUTS
105+
106+
## OUTPUTS
107+
108+
## NOTES
109+
110+
## RELATED LINKS

exchange/exchange-ps/exchange/Connect-ExchangeOnline.md

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ Connect-ExchangeOnline
4444
[-Device]
4545
[-EnableErrorReporting]
4646
[-InlineCredential]
47+
[-LoadCmdletHelp]
4748
[-LogDirectoryPath <String>]
4849
[-LogLevel <LogLevel>]
4950
[-ManagedIdentity]
@@ -496,6 +497,28 @@ Accept pipeline input: False
496497
Accept wildcard characters: False
497498
```
498499

500+
### -LoadCmdletHelp
501+
**Note**: This parameter is available in version 3.7.0-Preview1 or later of the module.
502+
503+
The LoadCmdletHelp switch downloads cmdlet help files for the Get-Help cmdlet in REST API connections. You don't need to specify a value with this switch.
504+
505+
Starting in v3.7.0-Preview1, help files for the command line aren't downloaded by default. Use this switch to download the files for cmdlet help at the command line.
506+
507+
**Tip**: This parameter replaces the SkipLoadingCmdletHelp parameter. The SkipLoadingCmdletHelp parameter is no longer required and no longer works, because cmdlet help files are no longer downloaded by default.
508+
509+
```yaml
510+
Type: SwitchParameter
511+
Parameter Sets: (All)
512+
Aliases:
513+
Applicable: Exchange Online
514+
515+
Required: False
516+
Position: Named
517+
Default value: None
518+
Accept pipeline input: False
519+
Accept wildcard characters: False
520+
```
521+
499522
### -LogDirectoryPath
500523
The LogDirectoryPath parameter specifies the location of the log files. The default location is `%TMP%\EXOCmdletTelemetry\EXOCmdletTelemetry-yyyymmdd-hhmmss.csv`.
501524

@@ -678,9 +701,11 @@ Accept wildcard characters: False
678701
### -SkipLoadingCmdletHelp
679702
**Note**: This parameter is available in version 3.3.0 or later of the module.
680703

681-
The SkipLoadingCmdletHelp switch avoids downloading the cmdlet help files for REST API connections. You don't need to specify a value with this switch.
704+
In version 3.7.0-Preview1 or later, this parameter is replaced by the LoadCmdletHelp parameter. The SkipLoadingCmdletHelp parameter is no longer required and no longer does anything, because cmdlet help files are no longer downloaded by default. Eventually, this parameter will be retired, so remove it from any scripts.
705+
706+
The SkipLoadingCmdletHelp switch prevents downloading the cmdlet help files for the Get-Help cmdlet in REST API connections. You don't need to specify a value with this switch.
682707

683-
When you use this switch, you don't get local help files for any cmdlet.
708+
When you use this switch, you don't get local help files for any cmdlet at the command line.
684709

685710
This switch doesn't work with the UseRPSSession switch.
686711

@@ -698,7 +723,7 @@ Accept wildcard characters: False
698723
```
699724

700725
### -SkipLoadingFormatData
701-
The SkipLoadingFormatData switch avoids downloading the format data for REST API connections. You don't need to specify a value with this switch.
726+
The SkipLoadingFormatData switch prevents downloading the format data for REST API connections. You don't need to specify a value with this switch.
702727

703728
When you use this switch, the output of any Exchange cmdlet will be unformatted.
704729

0 commit comments

Comments
 (0)