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

求助:如何删除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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.01 15:24:51