解决删除Azure Active Directory的Enterprise Applications异常
当我们不需要使用某个Azure Active Directory(以下简称AAD)的时候,我们可以删除它,这个时候Azure会对当前的AAD包含的内容进行检查,
在所有的检查项目中有一个名叫“企业应用”,有很多人在删除AAD的时候都被这一项挡住了去路却不知道该怎么解决,下面我们来看一下该如何对症下药。
通常这一项的检查不通过有两种情况:
1.Azure DevOps:在点击解决连接后,你可能会看到一个名叫“Azure DevOps”的企业应用,这是在你注册Azure DevOps的时候自动注册的,而且默认情况下你无法直接通过门户删除。这个时候我们需要使用PowerShell的Azure AD组件来删除:
首先注册一个AAD管理员用户,注意不是当前操作删除的这个微软账户,你需要注册一个AAD用户,然后赋予这个用户管理员权限;
在本地打开PowerShell,注意这里需要Windows的PowerShell,不能是跨平台的PowerShell Core,使用管理员权限执行以下命令:
Install-Module -Name AzureAD
安装完成后,执行以下命令:
Remove-AzureADServicePrincipal -ObjectId [AzureDevOps ObjectId]
ObjectId可以从应用的属性里面获取,执行完毕后你应该能够看到Azure DevOps已经被删除了。
2.Managed Identity:如果在删除Azure DevOps后仍然无法删除AAD,而且你应该会注意到在企业应用这一项的检查是先变成通过后在“Azure AD Domain Service”这一项检查后又变为不通过,这个时候就是因为当前AAD中还有未删除的Managed Identity。
1.点击解决链接,切换过滤选项到“Managed Identity”,你会看到当前AAD下面未删除的系统管理的标识,理论上系统管理标识是会在资源删除的同时被删除,但是有时候系统并不会自动删除它们(多发生于订阅迁移到了另一个AAD内),这个时候你需要手动删除。
2.对于Azure WebApp类的标识,你需要在新的AAD内禁用原有标识后重新启用标识来删除原有的标识,直接删除资源并不会删除标识
3.对于SQL Server,当开启AAD验证后也会自动注册标识,而且在门户内禁用原有AAD管理员重新配置新的管理员并没有用,这个时候需要用到Azure CLI,最方便的当然是打开门户内的Cloud Shell,选择Bash后,执行以下命令:
az sql server update --assign_identity --resource-group [Your-RG-Name] --name [Your-SQLServer-Name]
这个命令会更新原有的系统分配标识,更新后原有的标识被删除。
现在你应该可以顺利通过检查删除当前AAD了,祝大家Azure旅途愉快。
解决删除Azure Active Directory的Enterprise Applications异常的更多相关文章
- 【Azure API 管理】解决API Management添加AAD Group时遇见的 Failed to query Azure Active Directory graph due to error 错误
问题描述 为APIM添加AAD Group时候,等待很长很长的时间,结果添加失败.错误消息为: Write Groups ValidationError :Failed to query Azure ...
- 简化 Web 应用程序与 Windows Azure Active Directory、ASP.NET 和 Visual Studio 的集成
大家好! 今天的博文深入讨论我们今天推出的开发人员工具和框架中的一些新功能.我们通过与 ASP.NET 和 Visual Studio 团队合作开发了一些重大的增强功能,让开发人员能够轻松使用 Win ...
- [Windows Azure] What is Windows Azure Active Directory?
What is Windows Azure Active Directory? Windows Azure Active Directory is a service that provides id ...
- Azure Active Directory Connect是如何协助管理员工作的?
TechTarget中国原创] 应用基于云的Microsoft Azure Active Directory,管理员们可以将本地Active Directory整合到Windows Server中.通 ...
- 使用 Azure Active Directory 管理 Azure 中的 HPC Pack 群集
Microsoft HPC Pack 2016 支持在 Azure 中部署 HPC Pack 群集的管理员将其与 Azure Active Directory (Azure AD) 集成. 请按照本文 ...
- 【Azure Developer】使用 adal4j(Azure Active Directory authentication library for Java)如何来获取Token呢
问题描述 使用中国区的Azure,在获取Token时候,参考了 adal4j的代码,在官方文档中,发现了如下的片段代码: ExecutorService service = Executors.new ...
- Azure Active Directory Connect密码同步问题
这几天一直在弄O365与本地域账号的密码同步问题.由于微软即将用Azure Active Directory Connect(以下简称AADC)这个同步工具替代之前的DirSync,所以我也研究了下这 ...
- Windows Azure Active Directory (3) China Azure AD增加新用户
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的China Azure. 本文是对笔者之前的文档:Windows Azure Active ...
- Windows Azure Active Directory (4) China Azure AD Self Password Reset
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China. 在开始本章内容之前,请读者熟悉笔者之前写的文档: Windows ...
随机推荐
- how to create a ring progress bar in web skills
how to create a ring progress bar in web skills ring progress bar & circle progress bar canvas j ...
- 详解支付体系颠覆者NGK公链:如何通过呼叫河马智能合约加速转账?
纵观全球加密货币市场,至今为止,全球已经发行的加密货币以及数字代币的数量已经超过了7000种,且未来还将会有更多的加密货币或数字代币出现.在众多加密货币项目中,投资者很难在众多的项目里甄别项目的好坏以 ...
- C++算法代码——标题统计
题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=2327 题目描述 凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符? 注意: ...
- AtCoder Beginner Contest 192 F - Potion
题目链接 点我跳转 题目大意 给定 \(N\) 个物品和一个 \(X\) ,第 \(i\) 个物品的重量为 \(ai\),你可以从中选择任意个物品(不能不选) 假定选择了 \(S\) 个物品,物品的总 ...
- Python爬虫_糗事百科
本爬虫任务: 爬虫糗事百科网站(https://www.qiushibaike.com/)--段子版块中所有的[段子].[投票数].[神回复]等内容 步骤: 通过翻页寻找url规律,构造url列表 查 ...
- Promise和async await详解
本文转载自Promise和async await详解 Promise 状态 pending: 初始状态, 非 fulfilled 或 rejected. fulfilled: 成功的操作. rejec ...
- [Python学习笔记]文件的读取写入
文件与文件路径 路径合成 os.path.join() 在Windows上,路径中以倒斜杠作为文件夹之间的分隔符,Linux或OS X中则是正斜杠.如果想要程序正确运行于所有操作系统上,就必须要处理这 ...
- Java并发之ThreadPoolExecutor源码解析(二)
ThreadPoolExecutor ThreadPoolExecutor是ExecutorService的一种实现,可以用若干已经池化的线程执行被提交的任务.使用线程池可以帮助我们限定和整合程序资源 ...
- Vue前端项目的搭建流程
1. 安装Vue和Nodejs 2. 创建项目 vue create eduonline-web
- 翻译:《实用的Python编程》03_00_Overview
目录 | 上一节 (2 处理数据) | 下一节 (4 类和对象) 3. 程序组织 到目前为止,我们已经学习了一些 Python 基础知识并编写了一些简短的脚本.但是,当开始编写更大的程序时,我们会想要 ...