求助:如何删除MSA托管的Microsoft Entra外部ID租户?
解决MSA托管Entra外部ID租户删除阻碍问题
前置准备
- 安装并更新至最新版Azure CLI:
az upgrade - 使用全局管理员账号登录目标租户:
az login --tenant <租户ID> - 确认已拥有租户的全局管理员权限
可纳入文档的Bash脚本
#!/bin/bash # 替换为目标租户ID TENANT_ID="your-tenant-id-here" # 1. 设置默认租户上下文 az account set --tenant $TENANT_ID # 2. 删除所有非管理员用户 echo "开始删除非管理员用户..." USER_IDS=$(az ad user list --query "[?userPrincipalName !contains('@onmicrosoft.com')].id" -o tsv) for USER_ID in $USER_IDS; do az ad user delete --id $USER_ID echo "已删除用户: $USER_ID" done # 3. 删除所有自定义应用注册(排除微软第一方应用) echo "开始删除自定义应用注册..." APP_REG_IDS=$(az ad app list --query "[?publisherName != 'Microsoft Corporation'].appId" -o tsv) for APP_REG_ID in $APP_REG_IDS; do az ad app delete --id $APP_REG_ID echo "已删除应用注册: $APP_REG_ID" done # 4. 删除所有自定义企业应用(排除微软第一方应用) echo "开始删除自定义企业应用..." ENTERPRISE_APP_IDS=$(az ad sp list --query "[?publisherName != 'Microsoft Corporation'].id" -o tsv) for ENTERPRISE_APP_ID in $ENTERPRISE_APP_IDS; do az ad sp delete --id $ENTERPRISE_APP_ID echo "已删除企业应用: $ENTERPRISE_APP_ID" done # 5. 移除租户关联的所有订阅(若有) echo "开始移除关联订阅..." SUBSCRIPTION_IDS=$(az account list --query "[].id" -o tsv) for SUBSCRIPTION_ID in $SUBSCRIPTION_IDS; do az account remove --subscription $SUBSCRIPTION_ID echo "已移除订阅: $SUBSCRIPTION_ID" done # 6. 提交租户删除请求 echo "开始提交租户删除请求..." az rest --method POST --uri "https://graph.microsoft.com/v1.0/tenants/$TENANT_ID/delete" --body '{}' --headers Content-Type=application/json echo "租户删除请求已提交,系统将自动清理内置第一方应用及剩余关联资源,通常需1-7天完成,可通过Entra管理中心查看进度"
补充说明
- 微软第一方应用无需手动删除,系统会在租户删除流程中自动处理这类内置资源
- 若执行脚本后仍无法触发删除,可通过以下命令排查剩余未清理资源:
- 列出所有组:
az ad group list - 列出所有角色分配:
az role assignment list
- 列出所有组:
- 删除请求提交后,请勿在目标租户内创建新资源,避免延长清理周期
内容的提问来源于stack exchange,提问作者bdcoder
相关产品推荐
相关产品推荐

