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

如何根据显示名称获取指定Azure对象的ObjectID?

根据显示名称获取Azure对象ObjectID的方法

你可以通过Azure PowerShell的Az模块命令,根据显示名称获取不同类型Azure AD对象的ObjectID,以下是具体实现方式:

通用方法(支持任意Azure AD对象)

适用于不确定对象类型的场景,通过过滤显示名称匹配目标对象:

# 替换为你的目标对象显示名称
$targetDisplayName = "示例对象名称"
# 获取唯一匹配的ObjectID(若有重名,-First 1返回第一个结果)
$objID = (Get-AzADObject -Filter "displayName eq '$targetDisplayName'" -First 1).Id

分类型精准获取

如果明确对象类型,使用对应命令更高效:

  • Azure AD应用(服务主体)
$appDisplayName = "你的应用显示名称"
$objID = (Get-AzADServicePrincipal -DisplayName $appDisplayName -First 1).Id
  • Azure AD组
$groupDisplayName = "你的组显示名称"
$objID = (Get-AzADGroup -DisplayName $groupDisplayName -First 1).Id

整合到角色分配脚本

将获取到的$objID直接代入你的角色分配命令,完整示例:

# 定义目标对象显示名称
$targetDisplayName = "目标对象显示名称"
# 获取ObjectID(这里用通用方法,可根据对象类型替换为对应命令)
$objID = (Get-AzADObject -Filter "displayName eq '$targetDisplayName'" -First 1).Id

# 执行角色分配
New-AzRoleAssignment -ObjectId $objID `
  -RoleDefinitionName "Contributor" `
  -ResourceGroupName "newly-created-resource-group"

注意事项

  • 若存在同名对象,-First 1会返回第一个匹配结果,建议提前确认显示名称唯一性,或添加类型过滤(比如在通用方法的Filter中加入and objectType eq 'Group')
  • 确保已安装Az模块(执行Install-Module Az -AllowClobber -Scope CurrentUser),并通过Connect-AzAccount完成Azure登录

内容的提问来源于stack exchange,提问作者Senior Systems Engineer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 21:45:35