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