本文可帮助你排查自助密码重置(SSPR)错误“SSPR_0029:组织尚未正确设置密码重置的本地配置”,该配置发生在用户或管理员输入并确认 SSPR 页面上的新密码。
现象
用户或管理员执行以下步骤,然后收到错误 SSPR_0029
:
在域中的Microsoft帐户登录页或Microsoft Azure 登录页 https://login.microsoftonline.com 中,用户或管理员选择 “无法访问你的帐户?”、 忘记了我的密码或 立即重置。
用户或管理员选择 工作或学校帐户 帐户类型。 然后,会重定向到 SSPR 页面 https://passwordreset.microsoftonline.com ,开始 返回到帐户 流。
在 “你是谁” 屏幕上,用户或管理员输入其用户 ID,完成不区分大小写的 captcha 安全质询,然后选择“ 下一步”。
在登录时遇到问题的原因?屏幕上,用户或管理员选择“下一步忘记了密码>”。
在 选择新密码 屏幕上,用户或管理员输入并确认新的密码字符串,然后选择“ 完成”。 然后,将显示“ 我们很抱歉 ”的屏幕,并显示以下消息:
SSPR_0029:组织未正确设置重置密码的本地配置。
如果你是管理员,可以从“排查密码写回问题”一文获取详细信息。 如果你不是管理员,可以在联系管理员时提供此信息。
原因 1:无法使用密码写回重置已同步 Windows Active Directory 管理员的密码
你是属于本地 Active Directory受保护组的已同步 Windows Active Directory 管理员,不能使用 SSPR 和密码写回重置本地密码。
解决方案:无(行为设计)
出于安全性考虑,本地 Active Directory 受保护组中存在的管理员帐户不能与密码写回一起使用。 管理员可以在云中更改其密码,但无法重置忘记的密码。 有关详细信息,请参阅 自助式密码重置写回在 Microsoft Entra ID 中的工作原理。
原因 2:AD DS 连接器帐户没有正确的 Active Directory 权限
同步的用户缺少 Active Directory 中的正确权限。
解决方案:解决 Active Directory 权限问题
若要解决影响 Active Directory 权限的问题,请参阅 密码写回访问权限和权限。
解决方法:面向其他 Active Directory 域控制器
注意
密码写回依赖于旧版 API NetUserGetInfo。 API NetUserGetInfo
需要 Active Directory 中一组复杂的允许权限,这些权限可能难以识别,尤其是在域控制器上运行Microsoft Entra Connect 服务器时。 有关详细信息,请参阅 使用 NetUserGetInfo 和类似 API 的应用程序依赖于对某些 Active Directory 对象的读取访问权限。
是否有一个方案:Microsoft Entra Connect 服务器在域控制器上运行,并且无法解析 Active Directory 权限? 在这种情况下,我们建议在成员服务器上而不是域控制器上部署 Microsoft Entra Connect 服务器。 或者,使用以下步骤将 Active Directory 连接器配置为 仅使用首选域控制器 :
在 “开始 ”菜单上,搜索并选择“ 同步服务管理器”。
在 “同步服务管理器 ”窗口中,选择“ 连接器 ”选项卡。
右键单击连接器列表中的 Active Directory 连接器,然后选择“ 属性”。
在“属性”对话框的“连接器设计器”窗格中,选择“配置目录分区”。
在 “配置目录分区 ”窗格中,选择 “仅使用首选域控制器 ”选项,然后选择“ 配置”。
在 “配置首选 DC ”对话框中,添加指向本地主机不同的域控制器(或域控制器)的一个或多个服务器名称。
若要保存更改并返回到主窗口,请选择“ 确定 ”三次,包括在显示高级配置免责声明的 “警告 ”对话框中。
原因 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)或服务器本地安全策略应用强化安全设置,则可能会出现这种情况。 若要检查情况是否如此,请执行以下步骤:
打开管理命令提示符窗口,并运行以下命令:
md C:\Temp gpresult /h C:\Temp\GPreport.htm start C:\Temp\GPreport.htm
在 Web 浏览器中打开 C:\Temp\gpresult.htm 文件,然后展开“计算机详细信息>设置策略>”Windows 设置>安全设置>>本地策略/安全选项>网络访问。 然后,检查是否有名为 “网络访问”的设置:限制允许对 SAM 进行远程调用的客户端。
若要打开本地安全策略管理单元,请选择“开始”,输入 secpol.msc,按 Enter,然后展开“本地策略>展开安全选项”。
在策略列表中,选择“ 网络访问:限制允许客户端对 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_帐户)添加到允许的用户列表中。 有关说明,请参阅以下步骤:
如果不知道 AD DS 连接器帐户的名称,请参阅 “标识 AD DS 连接器帐户”。
在 GPMC 或本地安全策略管理单元中,返回到该策略设置的属性对话框。
选择“ 编辑安全性 ”以显示 “远程访问 SAM 的安全设置”对话框。
在“组”或“用户名”列表中,选择“添加”以显示“选择用户或组”对话框。 在“输入要选择的对象名称”框中,输入 AD DS 连接器帐户的名称(MSOL_帐户),然后选择“确定”退出该对话框。
在列表中选择 AD DS 连接器帐户。 在“帐户名称>的权限<”下,在“远程访问”行中,选择“允许”。
选择“ 确定 ”两次以接受策略设置更改并返回到策略设置列表。
打开管理命令提示符窗口,并运行 gpupdate 命令以强制组策略更新:
gpupdate /force
解决方案 2:删除 网络访问:限制允许远程调用 SAM 策略设置的客户端,然后手动删除 RestrictRemoteSam 注册表项
如果从本地安全策略应用安全设置,请转到步骤 #4。
从域控制器打开 GPMC 管理单元,并编辑相应的域 GPO。
展开计算机配置>策略>Windows 设置>安全设置>计算机配置>本地策略>安全选项。
在安全选项列表中,选择“ 网络访问:限制允许对 SAM 进行远程调用的客户端”、“打开 属性”,然后禁用 “定义此策略”设置。
打开管理命令提示符窗口,并运行 gpupdate 命令以强制组策略更新:
gpupdate /force
若要生成新的组策略结果报告(GPreport.htm),请运行 gpresult 命令,然后在 Web 浏览器中打开新报表:
md C:\Temp gpresult /h C:\Temp\GPreport.htm start C:\Temp\GPreport.htm
检查报告以确保网络访问的策略设置 :未定义允许对 SAM 进行远程调用的客户端。
打开管理 PowerShell 控制台。
若要删除 RestrictRemoteSam 注册表项,请运行 Remove-ItemProperty cmdlet:
Remove-ItemProperty -Path HKLM:\System\CurrentControlSet\Control\Lsa -Name RestrictRemoteSam
注意
如果删除 RestrictRemoteSam 注册表项而不删除域 GPO 设置,则会在下一个组策略刷新周期中重新创建此注册表项,并且
SSPR_0029
错误将再次发生。
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区。