You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Get-AzRoleAssignment指定SignInName参数时报错的问题咨询

Azure角色分配查询报错:找不到指定主体的解决方法

问题描述

执行不带SignInName参数的查询命令时正常:

Get-AzRoleAssignment -ResourceGroupName $RGName -ResourceName $RN -ResourceType Microsoft.DesktopVirtualization/applicationGroups -RoleDefinitionName "Desktop Virtualization User"

但添加SignInName参数后执行以下命令时,报错 Get-AzRoleAssignment : Cannot find principal using the specified options:

Get-AzRoleAssignment -SignInName $SID -ResourceGroupName $RGName -ResourceName $RN -ResourceType Microsoft.DesktopVirtualization/applicationGroups -RoleDefinitionName "Desktop Virtualization User"

解决步骤

  • 验证SignInName准确性:确认变量$SID存储的用户登录名完全正确,包含完整域名(如user@contoso.com),排查大小写、拼写错误。
  • 确认用户存在于Azure AD:运行Get-AzADUser -UserPrincipalName $SID,若返回空结果,说明该用户不在当前订阅对应的Azure AD租户中,需先添加用户或切换到正确租户。
  • 调整参数组合:尝试移除RoleDefinitionName参数,仅用SignInName和资源相关参数查询,确认是否能返回结果后,再逐步添加筛选条件。
  • 改用ObjectId查询:先通过Get-AzADUser -UserPrincipalName $SID获取用户的ObjectId,再用-ObjectId参数替代-SignInName执行查询:
    $user = Get-AzADUser -UserPrincipalName $SID
    Get-AzRoleAssignment -ObjectId $user.Id -ResourceGroupName $RGName -ResourceName $RN -ResourceType Microsoft.DesktopVirtualization/applicationGroups -RoleDefinitionName "Desktop Virtualization User"
    
  • 检查账号权限:确保当前登录账号拥有读取Azure AD用户信息和角色分配的权限,至少需要Reader或Role Based Access Control Administrator权限。

内容的提问来源于stack exchange,提问作者Ritesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 00:10:35