如何在 Microsoft 365、Azure 和 Intune 中还原已删除的用户帐户

原始 KB 数: 2619308

症状

必须还原从 Microsoft 365、Microsoft Azure 或 Microsoft Intune 意外删除的用户帐户。

解决方案

准备工作

从 Microsoft Entra ID 中删除用户时,它们将移至“已删除”状态,并且不再显示在用户列表中。 但是,它们不会完全删除,并且可以在 30 天内恢复。

使用 Microsoft 365 和适用于 PowerShell 的 Azure Active Directory 模块,如下所示确定用户是否有资格从“已删除”状态中恢复:

  1. Microsoft 365 门户中,查找通过门户删除的用户帐户。 为此,请按照下列步骤操作:
    1. 使用管理凭据登录到 Microsoft 365 门户 (https://portal.office.com) 。
    2. 选择 “用户”,然后选择“ 已删除的用户”。
    3. 找到要恢复的用户。
  2. 在用于Windows PowerShell的 Azure Active Directory 模块中,执行以下步骤:
    1. 对于Windows PowerShell,请选择“启动>所有程序”>>“Windows Azure Active Directory”Windows Azure Active Directory 模块
    2. 按命令的显示顺序键入以下命令,并在每个命令后按 Enter:
      • $cred = get-credential

        注意

        出现提示时,输入 Microsoft 365 凭据。

      • Connect-MSOLService -credential:$cred

      • Get-MsolUser -ReturnDeletedUsers

注意

自 2024 年 3 月 30 日起,Azure AD 和 MSOnline PowerShell 模块已弃用。 若要了解详细信息,请阅读 弃用更新。 在此日期之后,对这些模块的支持仅限于 Microsoft Graph PowerShell SDK 和安全修补程序的迁移帮助。 弃用的模块将继续运行到 2025 年 3 月 30 日。

建议迁移到 Microsoft Graph PowerShell,以便与以前为 Azure AD) Microsoft Entra ID (交互。 有关常见的迁移问题,请参阅 迁移常见问题解答注意: MSOnline 1.0.x 版可能会在 2024 年 6 月 30 日之后遇到中断。

解决方法 1:使用 Microsoft 365 门户或 Azure Active Directory 模块恢复手动删除的帐户

若要恢复手动删除的用户帐户,请使用以下方法之一:

  • 使用 Microsoft 365 门户恢复用户帐户。 有关如何执行此操作的详细信息,请 还原用户

  • 使用用于Windows PowerShell的 Azure Active Directory 模块恢复用户帐户。 为此,请键入以下命令,然后按 Enter:

    Restore-MsolUser -ObjectId <Guid> -AutoReconcileProxyConflicts -NewUserPrincipalName <string>

    如果此命令不起作用,请尝试以下命令:

    Restore-MsolUser -UserPrincipalName <string> -AutoReconcileProxyConflicts -NewUserPrincipalName <string>

    注意

    在这些命令中,使用以下约定:

    • UserPrincipalNameObjectID 参数唯一标识要还原的用户对象。
    • 参数 AutoReconcileProxyConflicts 是可选的,用于在删除该地址后向另一个用户对象授予目标用户对象的代理地址的方案。
    • NewUserPrincipalName在删除 UPN 后,通过使用目标用户对象的用户主体名称 (UPN) 授予其他用户对象的方案,可以选择使用 参数。

解决方法 2:恢复已删除的帐户,因为范围更改排除本地 Active Directory用户对象

若要恢复已删除的用户帐户,请确保目录同步筛选 (范围) 的设置方式包括要恢复的对象。

有关详细信息,请参阅 Microsoft Entra Connect Sync:配置筛选

解决方法 3:恢复因从本地 Active Directory架构中删除本地用户对象而删除的帐户

若要恢复从本地 Active Directory架构中删除的项,请尝试以下方法:

  • 尝试从 Active Directory 回收站还原已删除的项目。 为此,请参阅 Active Directory 回收站分步指南

    注意

    • 只有具有 Windows 2008 R2 或更高版本的功能级别才能使用 Active Directory 回收站。
    • 若要使 Active Directory 回收站在恢复项目时很有用,必须在删除该项目之前启用它。
  • 如果 Active Directory 回收站不可用,或者有问题的对象不再在回收站中,请尝试使用 AdRestore 工具恢复已删除的项目。 为此,请按照下列步骤操作:

    1. 安装 AdRestore 工具。

    2. 将 AdRestore 与搜索筛选器一起使用,以查找已删除的本地用户对象。 以下示例使用“UserA”字符串搜索匹配的用户名。

      1. 使用 AdRestore 枚举名称中具有“UserA”字符串的所有用户对象:

        C:\>adrestore.exe UserA
        AdRestore v1.1 by Mark Russinovich
        Sysinternals - www.sysinternals.com
        
        Enumerating domain deleted objects:
        cn: MailboxA
        DEL:3c45a0ae-ebc5-490d-a4b4-4b20d3e34a3f
        distinguishedName: CN=UserA\0ADEL:3c45a0ae-ebc5-490d-a4b4-4b20d3e34a3f,CN=Deleted Objects,DC=Domain,DC=com
        lastKnownParent: OU=OnPremises,DC=Domain,DC=com
        
        Found 1 item matching search criteria.
        
      2. 将 AdRestore 与 -r 开关一起使用来还原用户对象。

        C:\>adrestore.exe Usera -r
        AdRestore v1.1 by Mark Russinovich
        Sysinternals - www.sysinternals.com
        
        Enumerating domain deleted objects:
        cn: UserA
        DEL:3c45a0ae-ebc5-490d-a4b4-4b20d3e34a3f
        distinguishedName: CN=MailboxA\0ADEL:3c45a0ae-ebc5-490d-a4b4-4b20d3e34a3f,CN=Deleted Objects,DC=Domain,DC=com
        lastKnownParent: OU=OnPremises,DC=Domain,DC=com
        
        Do you want to restore this object (y/n)? y
        Restore succeeded.
        
        Found 1 item matching search criteria.
        
  • 在 Active Directory 中启用用户对象。 还原对象后,首先会禁用该对象。 因此,必须启用它。 建议首先重置用户密码。 若要启用用户,请执行以下步骤:

    1. 在Active Directory 用户和计算机中,右键单击用户,然后选择“重置密码”。

    2. “新建密码 ”和“ 确认密码 ”框中,输入新密码,然后选择“ 确定”。

    3. 右键单击用户,选择“ 启用帐户”,然后选择“ 确定”。

      有关如何在 Active Directory 中启用帐户的屏幕截图。

      收到以下错误消息, (预期) :

      Windows 无法启用对象 <MailboxName> ,因为:无法更新密码。 为新密码提供的值不符合域的长度、复杂性或历史记录要求。

      收到此错误消息后,请在 Active Directory 用户和计算机 中重置用户的密码。

  • 配置用户登录名

    用户登录名 (也称为用户主体名称,或者未从还原的用户对象设置 UPN) 。 必须更新用户登录名,尤其是如果用户是联合帐户。

    若要配置用户登录名,请执行以下步骤:

    1. 在Active Directory 用户和计算机中,右键单击用户,然后选择“属性”。
    2. 选择“ 帐户”,在“用户登录名”框中输入名称,然后选择“ 确定”。

    最后,如果无法通过 Active Directory 回收站或使用 AdRestore 工具恢复已删除的用户帐户,请在 Active Directory 中对已删除的用户对象运行权威还原。

警告和注意事项

  • 确保仅将要还原的用户对象标记为权威。 在还原过程中标记为权威的 Active Directory 对象可能会导致许多 Active Directory 服务问题。

    有关如何运行 Active Directory 对象的权威还原的详细信息,请参阅 执行 Active Directory 对象的权威还原

  • 使用任何 Resolution 3 方法还原对象后,对象可能没有自动还原 (的所有服务属性,例如 Exchange Online 和 Skype for Business Online) 。

    例如,对于以前在 Exchange Online 中启用邮件的用户,可以使用 Windows PowerShell cmdlet 重新填充Exchange Online属性。

    在以下示例中,通过使用 contoso.onmicrosoft.com 租户的 Exchange Online 属性重新填充 User1 对象:

    Enable-RemoteMailbox -Identity User1 -RemoteRoutingAddress user1@contoso.mail.onmicrosoft.com

  • 如果满足以下条件,则解决方法 3 将不起作用:

    • 使用 Active Directory 回收站还原对象不是可用的选项。
    • 使用 AdRestore 工具还原对象不是可用的选项。
    • Active Directory 权威还原不是可用的选项。

在这种情况下,请联系 Microsoft 365 支持部门寻求帮助。

更多信息

在用户删除后和用户恢复之前,可能会发生以下事件,并且可能会显示可能会更改用户体验的冲突:

  • 新用户具有以前分配给已删除用户的唯一用户 ID 值。
  • 新用户具有以前分配给已删除用户的唯一电子邮件地址值。

如果发生这些冲突,则必须更新冲突属性以消除冲突,然后才能完成用户恢复。 如果在用户恢复期间发生冲突,Windows PowerShell将返回以下错误消息之一:

错误 1

Restore-MsolUser:由于以下错误,无法还原指定的用户帐户:错误类型 UserPrincipalName

错误 2

Restore-MsolUser:由于以下错误,无法还原指定的用户帐户:错误类型 proxyAddress

若要还原处于此状态的用户,可以在运行 Restore-MSOLUser cmdlet 时使用以下参数更正冲突:

  • AutoReconcileProxyConflicts
  • NewUserPrincipalName

注意

使用 AutoReconcileProxyConflicts 参数时,将从已删除的用户中删除任何冲突的电子邮件地址,以便继续恢复过程。

Microsoft 365 门户以前面提到的Windows PowerShell“错误状态”的形式显示等效的错误消息。 例如,你会收到以下消息:

用户名冲突 要还原的用户具有相同的用户名。

显示用户名冲突的屏幕截图。

若要还原处于此状态的用户,请完成表单中请求的信息。

仍然需要帮助? 转到 Microsoft 社区Microsoft Entra论坛网站。