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。