New-EntraUserAppRoleAssignment

指派使用者至應用程式角色。

語法

Default (預設值)

New-EntraUserAppRoleAssignment

    -UserId <String>
    -PrincipalId <String>
    -AppRoleId <String>
    -ResourceId <String>
    [<CommonParameters>]

Description

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 參數指定定義應用程式角色的資源服務主體的 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 參數指定定義應用程式角色的資源服務主體的 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。