排查错误SSPR_0029:组织未正确设置密码重置的本地配置

本文可帮助你排查自助密码重置 (SSPR) 错误“SSPR_0029:你的组织未正确设置密码重置的本地配置”,该错误发生在用户或管理员输入并在 SSPR 页上确认新密码后发生。

症状

用户或管理员执行以下步骤,然后收到错误 SSPR_0029

  1. 在域中的 Microsoft 帐户登录页或 Microsoft Azure 登录页中 https://login.microsoftonline.com ,用户或管理员选择“ 无法访问你的帐户?”“忘记了我的密码”或 “立即重置密码”。

  2. 用户或管理员选择 工作或学校帐户 帐户类型。 然后,它们重定向到处 https://passwordreset.microsoftonline.com 的 SSPR 页面,以启动 “返回到帐户 ”流。

  3. 在“ 你是谁?” 屏幕上,用户或管理员输入其用户 ID,完成不区分大小写的 captcha 安全质询,然后选择“ 下一步”。

  4. 在“ 为什么登录时遇到问题?” 屏幕上,用户或管理员选择 “我忘记了密码>”“下一步”。

  5. “选择新密码” 屏幕上,用户或管理员输入并确认新的密码字符串,然后选择“ 完成”。 然后,将出现“ 我们抱歉 ”屏幕,并显示以下消息:

    SSPR_0029:组织未正确设置本地配置以重置密码。

    如果你是管理员,可以从排查密码写回问题一文中获取详细信息。 如果你不是管理员,可以在联系管理员时提供此信息。

原因 1:无法使用密码写回来重置同步的 Windows Active Directory 管理员的密码

你是属于 (的已同步 Windows Active Directory 管理员,或者用于) 属于本地 Active Directory受保护的组,并且无法使用 SSPR 和密码写回来重置本地密码。

解决方案:没有 (行为是设计)

出于安全性考虑,本地 Active Directory 保护组中存在的管理员帐户不能与密码写回一起使用。 管理员可以在云中更改其密码,但无法重置忘记的密码。 有关详细信息,请参阅自助密码重置写回在 Microsoft Entra ID 中的工作原理

原因 2:AD DS 连接器帐户没有正确的 Active Directory 权限

同步用户缺少 Active Directory 中的正确权限。

解决方案:解决 Active Directory 权限问题

若要解决影响 Active Directory 权限的问题,请参阅 密码写回访问权限和权限

解决方法:面向其他 Active Directory 域控制器

注意

密码写回依赖于旧版 API NetUserGetInfo。 该 NetUserGetInfo API 需要 Active Directory 中一组复杂的允许权限,这些权限可能难以识别,尤其是在域控制器上运行Microsoft Entra Connect 服务器时。 有关详细信息,请参阅 使用 NetUserGetInfo 和类似 API 的应用程序依赖于对某些 Active Directory 对象的读取访问权限

你是否在域控制器上运行Microsoft Entra Connect 服务器,并且无法解析 Active Directory 权限? 在这种情况下,建议在成员服务器上而不是域控制器上部署 Microsoft Entra Connect 服务器。 或者,使用以下步骤将 Active Directory 连接器配置为 仅使用首选域控制器

  1. “开始”菜单上,搜索并选择“同步Service Manager”。

  2. “同步Service Manager”窗口中,选择“连接器”选项卡。

  3. 右键单击连接器列表中的 Active Directory 连接器,然后选择 “属性”。

  4. 在“属性”对话框的“连接器Designer”窗格中,选择“配置目录分区”。

  5. “配置目录分区 ”窗格中,选择“ 仅使用首选域控制器 ”选项,然后选择“ 配置”。

  6. “配置首选 DC ”对话框中,添加一个或多个服务器名称,这些名称指向与本地主机不同的域控制器 (或域控制器) 。

  7. 若要保存更改并返回到“main”窗口,请选择“确定”三次,包括在显示高级配置免责声明的“警告”对话框中。

原因 3:不允许服务器远程调用安全帐户管理器 (SAM)

在这种情况下,会记录两个类似的应用程序错误事件:事件 ID 33004 和 6329。 事件 ID 6329 与 33004 不同,因为在服务器尝试对 SAM 进行远程调用时,它包含 ERROR_ACCESS_DENIED 堆栈跟踪中的错误代码:

ERR_:MMS (####) :admaexport.cpp (2944) :无法获取用户信息:Contoso\MSOL_############。 错误代码:ERROR_ACCESS_DENIED

如果Microsoft Entra Connect 服务器或域控制器已或具有与域组策略对象 (GPO) 或服务器的本地安全策略一起应用的强化安全设置,则可能会出现这种情况。 若要检查是否是这种情况,请执行以下步骤:

  1. 打开管理命令提示符窗口,并运行以下命令:

    md C:\Temp
    gpresult /h C:\Temp\GPreport.htm
    start C:\Temp\GPreport.htm
    
  2. 在 Web 浏览器中打开 C:\Temp\gpresult.htm 文件,然后展开“计算机详细信息>设置策略>>“Windows 设置”“>安全设置”“>本地策略”/“安全选项>”“网络访问”。 然后,检查是否具有名为“网络访问”的设置:限制允许对 SAM 进行远程调用的客户端

  3. 若要打开“本地安全策略”管理单元,请选择“ 开始”,输入 secpol.msc,按 Enter,然后展开“ 本地策略>”“展开安全选项”。

  4. 在策略列表中,选择“ 网络访问:限制允许客户端对 SAM 进行远程调用”。 如果未启用设置,“ 安全设置” 列将显示“ 未定义 ”;如果启用设置,则显示 O:BAG:... 安全描述符值。 如果启用此设置,还可以选择“属性”图标以查看当前应用的访问控制列表 (ACL) 。

    注意

    默认情况下,此策略设置处于关闭状态。 如果通过 GPO 或本地策略设置在设备上应用此设置,则会在注册表路径HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\ 创建名为 RestrictRemoteSam 的注册表值。 但是,此注册表设置在定义并应用于服务器后可能很难清除。 禁用 组策略 设置或清除 组策略 管理控制台中定义此策略设置选项 (GPMC) 不会删除注册表项。 因此,服务器仍然限制允许哪些客户端对 SAM 进行远程调用。

    如何准确验证Microsoft Entra Connect 服务器或域控制器是否仍在限制对 SAM 的远程调用? 通过在 PowerShell 中运行 Get-ItemProperty cmdlet,检查注册表项是否仍然存在:

    Get-ItemProperty -Path HKLM:\System\CurrentControlSet\Control\Lsa -Name RestrictRemoteSam
    

PowerShell 输出是否显示 RestrictRemoteSam 注册表项仍然存在? 如果是这样,你有两种可能的解决方案。

解决方案 1:将 AD DS 连接器帐户添加到允许的用户列表

保持网络访问:限制允许客户端对Microsoft Entra Connect 服务器上启用并应用 SAM 策略设置,但将Active Directory 域服务 (AD DS) 连接器帐户 (MSOL_帐户) 添加到允许的用户列表中。 有关说明,请参阅以下步骤:

  1. 如果不知道 AD DS 连接器帐户的名称,请参阅 标识 AD DS 连接器帐户

  2. 在 GPMC 或本地安全策略管理单元中,返回到该策略设置的属性对话框。

  3. 选择 “编辑安全性 ”以显示“ 远程访问 SAM 的安全设置 ”对话框。

  4. “组或用户名” 列表中,选择“ 添加 ”以显示 “选择用户或组 ”对话框。 在 “输入要选择的对象名称 ”框中,输入 AD DS 连接器帐户的名称 (MSOL_ 帐户) ,然后选择“ 确定” 退出该对话框。

  5. 在列表中选择 AD DS 连接器帐户。 在“帐户名称>的权限<”下,在“远程访问”行中,选择“允许”。

  6. 选择 “确定” 两次以接受策略设置更改并返回到策略设置列表。

  7. 打开管理命令提示符窗口,并运行 gpupdate 命令以强制组策略更新:

    gpupdate /force
    

解决方案 2:删除 网络访问:限制允许对 SAM 策略进行远程调用的客户端 设置,然后手动删除 RestrictRemoteSam 注册表项

  1. 如果从本地安全策略应用安全设置,请转到步骤 4。

  2. 从域控制器打开 GPMC 管理单元,并编辑相应的域 GPO。

  3. 展开 “计算机配置>策略>”“Windows 设置>”“安全设置>”“计算机配置>本地策略>”“安全选项”。

  4. 在安全选项列表中,选择“ 网络访问:限制允许客户端对 SAM 进行远程调用”,打开 “属性”,然后禁用 “定义此策略设置”。

  5. 打开管理命令提示符窗口,并运行 gpupdate 命令以强制组策略更新:

    gpupdate /force
    
  6. 若要 (GPreport.htm) 生成新的组策略 结果报告,请运行 gpresult 命令,然后在 Web 浏览器中打开新报表:

    md C:\Temp
    gpresult /h C:\Temp\GPreport.htm
    start C:\Temp\GPreport.htm
    
  7. 检查报告以确保未定义 网络访问的策略设置:限制允许对 SAM 进行远程调用的客户端

  8. 打开 PowerShell 管理控制台。

  9. 若要删除 RestrictRemoteSam 注册表项,请运行 Remove-ItemProperty cmdlet:

    Remove-ItemProperty -Path HKLM:\System\CurrentControlSet\Control\Lsa -Name RestrictRemoteSam
    

    注意

    如果删除 RestrictRemoteSam 注册表项而不删除域 GPO 设置,则会在下一组策略刷新周期重新创建此注册表项,并且SSPR_0029将再次发生错误。

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。