本文介绍如何在 Microsoft Entra 租户中还原软删除的企业应用程序。 软删除的企业应用程序可以在删除后的前 30 天内从回收站中还原。 30 天时段过后,将永久删除企业应用程序且无法还原。
如果通过 Microsoft Entra 管理中心中的应用注册在其主租户中删除了应用程序注册,则还会删除作为其对应服务主体的企业应用程序。
如果通过 Microsoft Entra 管理中心还原已删除的应用程序注册,则还会还原其对应的服务主体。 因此,可以恢复服务主体以前的配置,但以前的策略(如未还原的条件访问策略)除外。
先决条件
若要还原企业应用程序,需要:
- 一个 Microsoft Entra 用户帐户。 如果还没有帐户,可以免费创建一个帐户。
- 以下角色之一:
- 云应用程序管理员
- 应用程序管理员
- 服务主体的所有者。
- 租户中软删除的企业应用程序。
要恢复最近删除的企业应用程序,请执行以下步骤。 有关删除和恢复应用程序的常见问题的详细信息,请参阅删除和恢复应用程序常见问题解答。
使用 Microsoft Entra PowerShell 查看可还原的企业应用程序
请确保使用的是 Microsoft Entra PowerShell 模块。
至少需要云应用程序管理员登录。
运行以下命令以查看最近删除的企业应用程序。
Connect-Entra -Scopes 'Application.Read.All' Get-EntraDeletedServicePrincipal
将 ID 替换为要还原的服务主体的对象 ID。
使用 Microsoft Graph PowerShell 查看可还原的企业应用程序
运行
connect-MgGraph -Scopes "Application.ReadWrite.All"。 至少需要云应用程序管理员登录。若要查看最近删除的企业应用程序,请运行以下命令。
Get-MgDirectoryDeletedItem -DirectoryObjectId <id>
将 ID 替换为要还原的服务主体的对象 ID。
使用 Microsoft Graph API 查看可还原的企业应用程序
使用 Graph 浏览器查看和还原最近删除的企业应用程序。 至少需要云应用程序管理员登录。
若要获取租户中已删除企业应用程序的列表,请运行以下查询。
GET https://graph.microsoft.com/v1.0/directory/deletedItems/microsoft.graph.servicePrincipal
从生成的已删除服务主体列表中,记录要还原的企业应用程序的 ID。
或者,如果要获取已删除的特定企业应用程序,请提取已删除的服务主体,并使用以下语法按客户端的应用程序 ID (appId) 属性筛选结果:
https://graph.microsoft.com/v1.0/directory/deletedItems/microsoft.graph.servicePrincipal?$filter=appId eq '{appId}'。 检索已删除的服务主体的对象 ID 后,请继续进行还原。
使用 Microsoft Entra PowerShell 还原企业应用
若要还原软删除的企业应用程序,请运行以下命令:
Connect-Entra -Scopes 'Application.ReadWrite.All' #get the deleted service principal by filtering by the display name. $deletedServicePrincipal = Get-EntraDeletedServicePrincipal -Filter "DisplayName eq 'test-App1-Deleted'" #assign the value returned to a variable and restore the deleted service principal Id = $deletedServicePrincipal.Id Restore-EntraDeletedDirectoryObject -Id $deletedServicePrincipal.Id
使用 Microsoft Graph PowerShell 还原企业应用
若要还原企业应用程序,请运行以下命令:
Restore-MgDirectoryDeletedItem -DirectoryObjectId <id>
将 ID 替换为要还原的服务主体的对象 ID。
使用 Microsoft 图形 API 还原企业应用
若要还原企业应用程序,请运行以下查询:
POST https://graph.microsoft.com/v1.0/directory/deletedItems/{id}/restore
将 ID 替换为要还原的服务主体的对象 ID。
客户可以查看软删除的托管标识服务主体,但无法将其恢复或永久删除。
警告
永久删除企业应用程序这一操作不可逆。 应用上存在的任何配置都将丢失。 仔细查看企业应用程序的详细信息,确保仍要对其执行硬删除。
使用 Microsoft Entra PowerShell 永久删除企业应用
若要永久删除软删除的企业应用程序,请运行以下命令:
Connect-Entra -Scopes 'Application.ReadWrite.All'
#get the deleted service principal by filtering by the display name.
$deletedServicePrincipal = Get-EntraDeletedServicePrincipal -Filter "DisplayName eq 'test-App1-Deleted'"
#assign the value returned to a variable and permanently delete the service principal
$Id = $deletedServicePrincipal.Id
Remove-EntraDeletedDirectoryObject -Id $deletedServicePrincipal.Id
使用 Microsoft Graph PowerShell 永久删除企业应用
若要永久删除软删除的企业应用程序,请运行以下命令:
Remove-MgDirectoryDeletedItem -DirectoryObjectId <id>
使用 Microsoft 图形 API 永久删除企业应用
若要永久删除软删除的企业应用程序,请在 Microsoft Graph 浏览器中运行以下查询。
DELETE https://graph.microsoft.com/v1.0/directory/deletedItems/{object-id}