New-EntraUserAppRoleAssignment
将用户分配到应用程序角色。
语法
Default (默认值)
New-EntraUserAppRoleAssignment
-UserId <String>
-PrincipalId <String>
-AppRoleId <String>
-ResourceId <String>
[<CommonParameters>]
说明
该 New-EntraUserAppRoleAssignment cmdlet 将用户分配到Microsoft Entra ID中的应用程序角色。
在工作或学校帐户的委托方案中,登录用户必须具有受支持的Microsoft Entra角色或具有所需权限的自定义角色。 支持的角色包括:
- 目录同步帐户(适用于 Entra Connect 和云同步)
- 目录生成器
- 混合标识管理员
- 身份治理管理员
- 特权角色管理员
- 用户管理员
- 应用程序管理员
- 云应用程序管理员
示例
示例 1:将用户分配到没有角色的应用程序
Connect-Entra -Scopes 'AppRoleAssignment.ReadWrite.All'
$appId = (Get-EntraApplication -SearchString '<App-DisplayName>').AppId
$user = Get-EntraUser -SearchString '<UserPrincipalName>'
$servicePrincipal = Get-EntraServicePrincipal -Filter "appId eq '$appId'"
$params = @{
UserId = $user.Id
PrincipalId = $user.Id
ResourceId = $servicePrincipal.Id
AppRoleId = [Guid]::Empty
}
New-EntraUserAppRoleAssignment @params
DeletedDateTime Id AppRoleId CreatedDateTime PrincipalDisplayName PrincipalId PrincipalType ResourceDisplayName
--------------- -- --------- --------------- -------------------- ----------- ------------- ------------------- -
A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u 00aa00aa-bb11-cc22-dd33-44ee44ee44ee 18-06-2024 11:22:40 UserPrincipalName aaaaaaaa-bbbb-cccc-1111-222222222222 User App-DisplayName
此命令将用户分配到没有任何角色的应用程序。
-
-UserId参数指定要向其分配应用角色的用户的 ID。 -
-PrincipalId参数指定要向其分配应用角色的用户的 ID。 -
-ResourceId参数指定已定义应用角色的资源 servicePrincipal 的 ID。 -
-AppRoleId参数指定要分配给用户的 appRole 的 ID(在资源服务主体上定义)。
示例 2:将用户分配到应用程序中的特定角色
Connect-Entra -Scopes 'AppRoleAssignment.ReadWrite.All'
$servicePrincipal = Get-EntraServicePrincipal -Filter "DisplayName eq 'Box'"
$user = Get-EntraUser -UserId 'SawyerM@contoso.com'
$params = @{
UserId = $user.Id
PrincipalId = $user.Id
ResourceId = $servicePrincipal.Id
AppRoleId = $servicePrincipal.AppRoles[1].Id
}
New-EntraUserAppRoleAssignment @params
DeletedDateTime Id AppRoleId CreatedDateTime PrincipalDisplayName PrincipalId PrincipalType ResourceDisplayName
--------------- -- --------- --------------- -------------------- ----------- ------------- -------------------
A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u 00aa00aa-bb11-cc22-dd33-44ee44ee44ee 06/18/2024 09:47:00 Sawyer Miller 1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5 User Box
此示例演示如何将用户分配到Microsoft Entra ID中的应用程序角色。
-
-UserId参数指定要向其分配应用角色的用户的 ID。 -
-PrincipalId参数指定要向其分配应用角色的用户的 ID。 -
-ResourceId参数指定已定义应用角色的资源 servicePrincipal 的 ID。 -
-AppRoleId参数指定要分配给用户的 appRole 的 ID(在资源服务主体上定义)。
参数
-AppRoleId
要分配的应用角色的 ID。
如果应用程序在创建新应用角色分配时没有任何角色,则提供空 GUID 或要分配给用户的角色 ID。
可以通过检查应用程序对象的 AppRoles 属性来检索应用程序的角色:
Get-EntraApplication -SearchString 'Your-Application-DisplayName' | Select-Object Approles | Format-List
此 cmdlet 返回应用程序中定义的角色列表:
AppRoles: {GUID1, GUID2}
参数属性
| 类型: | System.String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-PrincipalId
为其分配新应用角色的主体的对象 ID。
向用户分配新角色时,请提供用户的对象 ID。
参数属性
| 类型: | System.String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-ResourceId
为其分配用户角色的应用程序的服务主体的对象 ID。
参数属性
| 类型: | System.String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-UserId
指定要向其分配新应用角色Microsoft Entra ID的用户 ID(作为 UserPrincipalName 或 ObjectId)。
参数属性
| 类型: | System.String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | 对象标识符 (ObjectId) |
参数集
(All)
| Position: | Named |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。