如何用PowerShell在Azure AD中为组添加角色?求AzureAD模块命令及文档
关于AzureAD模块组角色分配的说明
首先纠正一个误解:Get-AzRoleDefinition属于Az.Resources模块(Azure PowerShell核心套件),用于管理Azure RBAC(资源级角色权限),和旧的本地Active Directory模块、AzureAD模块(管理Azure AD目录服务)分属不同模块体系。
针对你的问题,AzureAD模块(包括正式版AzureAD和预览版AzureADPreview)中存在为组分配Azure AD目录角色的命令,具体操作步骤如下:
获取目标Azure AD角色的ObjectId
- 如果角色已在租户中激活,使用命令:
Get-AzureADDirectoryRole -Filter "DisplayName eq '角色名称'" - 如果角色未激活,需先通过角色模板激活,再获取ID:
# 获取角色模板ID $roleTemplate = Get-AzureADDirectoryRoleTemplate -Filter "DisplayName eq '角色名称'" # 激活角色 Enable-AzureADDirectoryRole -RoleTemplateId $roleTemplate.ObjectId # 获取激活后的角色ID $role = Get-AzureADDirectoryRole -Filter "DisplayName eq '角色名称'"
- 如果角色已在租户中激活,使用命令:
获取目标组的ObjectId
$group = Get-AzureADGroup -Filter "DisplayName eq '你的组名'"为组分配角色
使用New-AzureADDirectoryRoleAssignment命令完成分配:New-AzureADDirectoryRoleAssignment -ObjectId $role.ObjectId -PrincipalId $group.ObjectId -ResourceScope "/"
注意:如果你的需求是给组分配Azure RBAC资源角色(如存储账户参与者、虚拟机贡献者等),则仍需使用Az模块的
New-AzRoleAssignment命令,而非AzureAD模块的命令。
关于官方文档,微软文档中对AzureAD模块的角色分配命令有详细说明,涵盖角色激活、分配、查询等全流程操作,你可以在Microsoft Docs的AzureAD PowerShell模块专区搜索“Azure AD directory role assignments”相关内容找到对应指引。
内容的提问来源于stack exchange,提问作者Harry
相关产品推荐
相关产品推荐

