原始 KB 数: 2619308
症状
必须还原意外从 Microsoft 365、Microsoft Azure 或 Microsoft Intune 中删除的用户帐户。
决议
在您开始之前
当用户从 Microsoft Entra ID 中删除时,它们将移动到“已删除”状态,并且不再显示在用户列表中。 但是,它们不会完全删除,并且可以在 30 天内恢复。
按如下所示使用 Microsoft 365 和 PowerShell 的 Azure Active Directory 模块来确定用户是否有资格从“已删除”状态恢复:
- 在 Microsoft 365 门户中,查找通过门户删除的用户帐户。 要实现这一点,请执行下列操作:
- 使用管理凭据登录到 Microsoft 365 门户(https://portal.office.com)。
- 选择 “用户”,然后选择“ 已删除的用户”。
- 找到要恢复的用户。
- 在适用于 Windows PowerShell 的 Azure Active Directory 模块中,执行以下步骤:
- 选择“开始”>所有程序>Windows Azure Active Directory>中的Windows PowerShell 的 Windows Azure Active Directory 模块。
- 按显示命令的顺序键入以下命令,并在每个命令后按 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,以便与 Microsoft Entra ID(以前称为 Azure AD)进行交互。 有关常见迁移问题,请参阅迁移常见问题解答。 注意:2024 年 6 月 30 日之后,MSOnline 版本 1.0.x 可能会遇到中断。
解决方法 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>
注释
在这些命令中,使用以下约定:
-
UserPrincipalName
和ObjectID
参数唯一标识要恢复的用户对象。 - 该
AutoReconcileProxyConflicts
参数是可选的,用于某些场景中,在删除该地址后,另一用户对象获得目标用户对象的代理地址。 - 在某些场景中,当目标用户对象的 UPN(用户主体名称)被删除后,可选择使用
NewUserPrincipalName
参数来授予其他用户对象。
-
解决方法 2:恢复已删除的帐户,因为范围更改不包括本地 Active Directory 用户对象
若要恢复已删除的用户帐户,请确保设置目录同步筛选(范围),以便范围包含要恢复的对象。
有关详细信息,请参阅 Microsoft Entra Connect Sync:配置筛选。
解决方法 3:恢复已删除的帐户,因为本地用户对象已从本地 Active Directory 架构中删除
若要恢复从本地 Active Directory 架构中删除的项,请尝试以下方法:
尝试从 Active Directory 回收站还原已删除的项目。 为此,请参阅 Active Directory 回收站分步指南。
注释
- Active Directory 回收站仅在功能级别为 Windows 2008 R2 或更高版本时可用。
- 要使 Active Directory 回收站在恢复项目时很有用,必须在删除项目之前启用它。
如果 Active Directory 回收站不可用,或者有关对象不再位于回收站中,请尝试使用 AdRestore 工具恢复已删除的项目。 为此,请执行以下步骤:
安装 AdRestore 工具。
结合使用 AdRestore 和搜索筛选器来查找已删除的本地用户对象。 以下示例使用“UserA”字符串搜索匹配的用户名。
使用 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.
将 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 中启用用户对象。 还原对象后,会首先禁用该对象。 因此,必须启用它。 建议先重置用户密码。 若要启用用户,请执行以下步骤:
在 Active Directory 用户和计算机中,右键单击该用户,然后选择“ 重置密码”。
在 “新建密码 ”和 “确认密码 ”框中,输入新密码,然后选择“ 确定”。
右键单击用户,选择“ 启用帐户”,然后选择“ 确定”。
收到以下错误消息(预期):
Windows 无法启用对象 <MailboxName> ,因为:无法更新密码。 为新密码提供的值不符合域的长度、复杂性或历史记录要求。
收到此错误消息后,在 Active Directory 用户和计算机中重置用户的密码。
配置用户登录名
未从还原的用户对象设置用户登录名(也称为用户主体名称或 UPN)。 必须更新用户登录名,尤其是在用户是联合帐户时。
若要配置用户登录名,请执行以下步骤:
- 在 Active Directory 用户和计算机中,右键单击该用户,然后选择“ 属性”。
- 选择 “帐户”,在“用户登录名”框中输入一个名称,然后选择“ 确定”。
最后,如果无法通过 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 论坛 网站。