Skip to content

Commit 22aeb9d

Browse files
committed
Merge branch 'master' into DataExtract-chrisda
2 parents e7ed2b3 + 371a182 commit 22aeb9d

File tree

61 files changed

+2037
-365
lines changed

Some content is hidden

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

61 files changed

+2037
-365
lines changed

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,10 @@ The following examples show how to use the Exchange Online PowerShell V2 module
5050
When you use the _Certificate_ parameter, the certificate does not need to be installed on the computer where you are running the command. This parameter is applicable for scenarios where the certificate object is stored remotely and fetched at runtime during script execution.
5151

5252
> [!TIP]
53-
> 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.
53+
>
54+
> - 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.
55+
>
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).
5457
5558
## How does it work?
5659

exchange/docs-conceptual/find-exchange-cmdlet-permissions.md

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,21 @@ You can use PowerShell to find the permissions required to run any Exchange or E
2020

2121
- Estimated time to complete this procedure: less than 5 minutes.
2222

23-
- You can only use PowerShell to perform this procedure.
23+
- You can only use PowerShell to perform these procedures.
2424

25-
- Basically, you need to be an administrator to complete this procedure. Specifically, you need access to the **Get-ManagementRole** and **Get-ManagementRoleAssignment** cmdlets. By default, access to these cmdlets is granted by the **View-Only Configuration** or **Role Management** roles, which are typically assigned to the **View-Only Organization Management** and **Organization Management** role groups.
25+
- Basically, you need to be an administrator to complete this procedure. Specifically, you need access to the **Get-ManagementRole** and **Get-ManagementRoleAssignment** cmdlets. By default, access to these cmdlets is granted by the **View-Only Configuration** or **Role Management** roles, which are only assigned to the **View-Only Organization Management** and **Organization Management** role groups by default.
2626

27-
- The procedures in this topic don't work in Security & Compliance Center PowerShell. For more information about permissions in the Security & Compliance Center, see [Permissions in the Security & Compliance Center](https://docs.microsoft.com/microsoft-365/security/office-365-security/permissions-in-the-security-and-compliance-center).
28-
29-
- The procedures in this topic don't work in standalone Exchange Online Protection (EOP) PowerShell (Microsoft 365 organizations without Exchange Online mailboxes). For more information about permissions in standalone EOP, see [Feature permissions in EOP](https://docs.microsoft.com/microsoft-365/security/office-365-security/feature-permissions-in-eop).
27+
- The procedures in this article don't work in Security & Compliance Center PowerShell or standalone Exchange Online Protection (EOP) PowerShell (Microsoft 365 organizations without Exchange Online mailboxes). For more information about permissions in these environments, see the following articles:
28+
- [Permissions in the Security & Compliance Center](https://docs.microsoft.com/microsoft-365/security/office-365-security/permissions-in-the-security-and-compliance-center).
29+
- [Permissions in standalone EOP](https://docs.microsoft.com/microsoft-365/security/office-365-security/feature-permissions-in-eop).
3030

3131
> [!TIP]
3232
> Having problems? Ask for help in the Exchange forums. Visit the forums at: [Exchange Server](https://go.microsoft.com/fwlink/p/?linkId=60612) or [Exchange Online](https://go.microsoft.com/fwlink/p/?linkId=267542).
3333
3434
## Use PowerShell to find the permissions required to run a cmdlet
3535

3636
1. If you haven't already, open the Exchange PowerShell environment that you're interested in:
37-
3837
- **Exchange Online**: [Connect to Exchange Online PowerShell](connect-to-exchange-online-powershell.md).
39-
4038
- **Exchange Server**: [Open the Exchange Management Shell](open-the-exchange-management-shell.md) or [Connect to Exchange servers using remote PowerShell](connect-to-exchange-servers-using-remote-powershell.md).
4139

4240
2. Replace `<Cmdlet>` and optionally, `<Parameter1>,<Parameter2>,...` with the values that you want to use, and run the following command:
@@ -45,7 +43,7 @@ You can use PowerShell to find the permissions required to run any Exchange or E
4543
$Perms = Get-ManagementRole -Cmdlet <Cmdlet> [-CmdletParameters <Parameter1>,<Parameter2>,...]
4644
```
4745

48-
**Note**: If you specify multiple parameters separated by commas, only roles that include the cmdlet with **all** of the parameters are returned.
46+
**Note**: If you specify multiple parameters, only roles that include the cmdlet with **all** of the parameters are returned.
4947

5048
3. Run the following command:
5149

@@ -69,11 +67,11 @@ What if there are no results?
6967

7068
- Verify that you entered the cmdlet and parameter names correctly.
7169

72-
- The parameters that you specified aren't defined for a cmdlet in a single role. Try specifying only the cmdlet name in the first command before you run the second command. Then, add the parameters one at a time to the first command before you run the second command until the command returns no results.
70+
- The parameters that you specified are actually available for a cmdlet in a single role. Try specifying only the cmdlet name in the first command before you run the second command. Then, add the parameters one at a time to the first command before you run the second command.
7371

7472
Otherwise, no results are likely caused by one of the following conditions:
7573

76-
- The cmdlet or parameters are defined in a role that isn't assigned to any role group by default.
74+
- The cmdlet or parameters are defined in a role that isn't assigned to any role groups by default.
7775
- The cmdlet or parameters aren't available in your environment. For example, you specified an Exchange Online cmdlet or Exchange Online parameters in an on-premises Exchange environment.
7876

7977
To find the roles in your environment (if any) that contain the cmdlet or parameters, replace `<Cmdlet>` and optionally, `<Parameter1>,<Parameter2>,...` with the values that you want to use and run the following command:
@@ -86,7 +84,7 @@ Get-ManagementRoleEntry -Identity *\<Cmdlet> [-Parameters <Parameter1>,<Paramet
8684

8785
If the command returns an error saying the object couldn't be found, the cmdlet or parameters aren't available in your environment.
8886

89-
If the command returns results, the cmdlet or parameters are available in your environment, but the required role isn't assigned to any role groups. To see all roles that aren't assigned to any role groups, run the following command:
87+
If the command returns results, the cmdlet or parameters are available in your environment, but the required role isn't assigned to any role groups. To find roles that aren't assigned to any role groups, run the following command:
9088

9189
```powershell
9290
$na = Get-ManagementRole; $na | foreach {If ((Get-ManagementRoleAssignment -Role $_.Name -Delegating $false) -eq $null) {$_.Name}}
@@ -104,11 +102,11 @@ To include scope information in the [Use PowerShell to find the permissions requ
104102
$Perms | foreach {Get-ManagementRoleAssignment -Role $_.Name -Delegating $false | Format-List Role,RoleAssigneeType,RoleAssigneeName,*Scope*}
105103
```
106104

107-
For more information about management role scopes, see [Understanding management role scopes](https://docs.microsoft.com/exchange/understanding-management-role-scopes-exchange-2013-help).
105+
For detailed information about management role scopes, see [Understanding management role scopes](https://docs.microsoft.com/exchange/understanding-management-role-scopes-exchange-2013-help).
108106

109107
### Find all roles assigned to a specific user
110108

111-
To see all roles assigned to a specific user, replace `<UserIdentity>` with the name, alias, or email address of the user and run the following command:
109+
To see all roles that are assigned to a specific user, replace `<UserIdentity>` with the name, alias, or email address of the user and run the following command:
112110

113111
```powershell
114112
Get-ManagementRoleAssignment -RoleAssignee <UserIdentity> -Delegating $false | Format-Table -Auto Role,RoleAssigneeName,RoleAssigneeType

exchange/docs-conceptual/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
href: filter-properties.md
2424
- name: Filterable properties for the RecipientFilter parameter
2525
href: recipientfilter-properties.md
26+
- name: Values for the CustomPropertyNames parameter
27+
href: values-for-custompropertynames-parameter.md
2628
- name: Exchange Online PowerShell
2729
href: exchange-online-powershell.md
2830
items:

0 commit comments

Comments
 (0)