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

查询无IAM角色分配的Azure资源组的PowerShell脚本需求

查找未分配IAM角色的Azure资源组PowerShell脚本

可用目标脚本

# 连接Azure账户,执行前替换为你实际的租户ID、订阅ID
Connect-AzureRmAccount -Tenant <你的租户ID> -Subscription <你的订阅ID>

# 获取当前订阅下所有资源组列表
$allResourceGroups = Get-AzureRmResourceGroup

# 初始化空数组存储无角色分配的资源组
$noRoleAssignRG = @()

# 遍历所有资源组检查IAM角色分配情况
foreach ($rg in $allResourceGroups) {
    $assignments = Get-AzureRmRoleAssignment -ResourceGroupName $rg.ResourceGroupName
    # 角色分配数量为0则存入结果数组
    if ($assignments.Count -eq 0) {
        $noRoleAssignRG += $rg
    }
}

# 控制台输出结果
$noRoleAssignRG | Select-Object ResourceGroupName, Location, ProvisioningState | Format-Table

# 如需导出结果到CSV,取消注释下行即可,替换为你本地的保存路径
# $noRoleAssignRG | Select-Object ResourceGroupName, Location, ProvisioningState | Export-Csv -Path "C:\Users\Desktop\无IAM角色分配资源组.csv" -Encoding UTF8 -NoTypeInformation

相关参考操作脚本(中文翻译版)

1. 批量邀请多个用户脚本

前置要求:提前安装AzureADPreview模块

Install-Module AzureADPreview
# 连接Azure AD,替换为你的租户ID
Connect-AzureAD -TenantId <你的租户ID>
# 导入存储待邀请用户信息的CSV文件,替换为你本地的文件路径
$invitations = Import-Csv C:\Users\dummy\Desktop\users.csv
$messageInfo = New-Object Microsoft.Open.MSGraph.Model.InvitedUserMessageInfo
# 自定义邀请邮件正文
$messageInfo.customizedMessageBody = "你好,你已受邀加入xyz.onmicrosoft.com租户。"

foreach ($email in $invitations) {
    New-AzureADMSInvitation `
    -InvitedUserEmailAddress $email.InvitedUserEmailAddress `
    -InvitedUserDisplayName $email.Name `
    -InviteRedirectUrl https://myapps.microsoft.com `
    -InvitedUserMessageInfo $messageInfo `
    -SendInvitationMessage $true
}

2. 批量创建多个资源组脚本

# 连接Azure账户,替换为你实际的租户ID、订阅ID
Connect-AzureRmAccount -Tenant <你的租户ID> -Subscription <你的订阅ID>
# 导入存储资源组信息的CSV文件,CSV需包含Name列存储资源组名称
Import-Csv C:\Users\dummy\Desktop\excel02.csv | ForEach-Object {
    New-AzureRmResourceGroup -Name $_.Name -Location centralIndia
}

3. 批量分配IAM角色脚本

# 连接Azure账户,替换为你实际的租户ID、订阅ID
Connect-AzureRmAccount -Tenant <你的租户ID> -Subscription <你的订阅ID>
# 导入存储分配信息的CSV文件,CSV需包含Users(用户登录名)、RG(资源组名称)列
Import-Csv C:\Users\dummy\Desktop\excel05.csv | ForEach-Object {
    New-AzureRMRoleAssignment -SignInName $_.Users -RoleDefinitionName "Owner" -ResourceGroupName $_.RG
}

4. 批量获取角色分配脚本

# 连接Azure账户,替换为你实际的租户ID、订阅ID
Connect-AzureRmAccount -Tenant <你的租户ID> -Subscription <你的订阅ID>
# 导入待查询的分配信息CSV,CSV需包含RG(资源组名称)、Users(用户登录名)列,查询结果导出到指定路径
Import-Csv C:\Users\nawabjanm\Desktop\excel05.csv | ForEach-Object {
    Get-AzureRmRoleAssignment -ResourceGroupName $_.RG -SignInName $_.Users
} | FL > D:\r20.csv

注意事项

  • 以上脚本基于AzureRM模块编写,如果你使用新版Az模块,将命令前缀AzureRm替换为Az即可正常使用
  • 执行脚本前请确保你持有对应租户、订阅的管理员权限,避免权限不足导致执行失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 04:51:03