合并安全信息注册故障排除

本文信息旨在指导管理员对用户报告的合并注册体验问题进行故障排除。

审核日志

合并注册的事件日志位于 Microsoft Entra 审核日志中的身份验证方法服务中。

显示注册事件的 Microsoft Entra 审核日志界面

下表列出了合并注册生成的所有审核事件:

活动 状态 原因 说明
用户已注册所有必需的安全信息 成功 用户已注册所有必需的安全信息。 当用户成功完成注册时会发生此事件。
用户已注册所有必需的安全信息 失败 用户取消了安全信息注册。 当用户从中断模式取消注册时发生此事件。
用户已注册安全信息 成功 用户已注册“方法”。 当用户注册单个方法时发生此事件。 “方法”可以是 Authenticator 应用、电话、电子邮件、安全问题、应用密码、备用电话等。
用户已审阅安全信息 成功 用户已成功审阅安全信息。 当用户在“安全信息审阅”页上选择“看上去不错”时发生此事件。
用户已审阅安全信息 失败 用户无法审阅安全信息。 当用户在“安全信息审阅”页上选择“看上去不错”但后端出现失败时发生此事件。
用户已删除安全信息 成功 用户已删除“方法”。 当用户删除单个方法时发生此事件。 “方法”可以是 Authenticator 应用、电话、电子邮件、安全问题、应用密码、备用电话等。
用户已删除安全信息 失败 用户无法删除“方法”。 当用户尝试删除某方法,但出于某种原因尝试失败时发生此事件。 “方法”可以是 Authenticator 应用、电话、电子邮件、安全问题、应用密码、备用电话等。
用户已更改默认安全信息 成功 用户已更改“方法”的默认安全信息。 当用户更改默认方法时发生此事件。 “方法”可以是 Authenticator 应用通知、来自我的验证器应用或令牌的代码、拨打 +X XXXXXXXXXX、将代码发到 +X XXXXXXXXX 等。
用户已更改默认安全信息 失败 用户无法更改“方法”的默认安全信息。 当用户尝试更改默认方法,但出于某种原因尝试失败时发生此事件。 “方法”可以是 Authenticator 应用通知、来自我的验证器应用或令牌的代码、拨打 +X XXXXXXXXXX、将代码发到 +X XXXXXXXXX 等。

中断模式故障排除

症状 疑难解答步骤
我没有看到预期应看到的方法。 1. 检查用户是否具有 Microsoft Entra 管理员角色。 如果拥有,请查看 SSPR 管理员策略差异。
2. 确定用户是否由于强制多重身份验证注册或强制 SSPR 注册而被中断。 查看“合并注册模式”下的流程图来确定应当显示的方法。
3. 确定多重身份验证或 SSPR 策略最近的更改情况。 如果更改在最近发生,则更新的策略可能需要一些时间传播。

管理模式故障排除

症状 疑难解答步骤
我没有添加特定方法的选项。 1. 确定是否为多重身份验证或 SSPR 启用了方法。
2. 如果已启用方法,请再次保存策略并等待 1-2 小时,然后再进行测试。
3. 如果方法已启用,请确保用户尚未设置允许其设置的该方法的最大数目。

如何回退用户

如果你作为管理员想要重置用户的多重身份验证设置,则可以使用下一节提供的 PowerShell 脚本。 此脚本将清除用户的移动应用和/或电话号码的 StrongAuthenticationMethods 属性。 如果为用户运行此脚本,则用户(如有需要)需重新注册多重身份验证。 我们建议在回退所有受影响的用户之前,先通过一个或两个用户测试回退。

下面的步骤将帮助回退一个或一组用户。

先决条件

注意

自 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. 安装相应的 Azure AD PowerShell 模块。 在 PowerShell 窗口中,运行以下命令以安装模块:

    Install-Module -Name MSOnline
    Import-Module MSOnline
    
  2. 在计算机中将受影响的用户对象 ID 列表另存为每行一个 ID 的文本文件。 记下该文件的位置。

  3. 将以下脚本保存到计算机,并记下该脚本的位置:

    <# 
    //********************************************************
    //*                                                      *
    //*   Copyright (C) Microsoft. All rights reserved.      *
    //*                                                      *
    //********************************************************
    #>
    
    param($path)
    
    # Define Remediation Fn
    function RemediateUser {
    
        param  
        (
            $ObjectId
        )
    
        $user = Get-MsolUser -ObjectId $ObjectId
    
        Write-Host "Checking if user is eligible for rollback: UPN: "  $user.UserPrincipalName  " ObjectId: "  $user.ObjectId -ForegroundColor Yellow
    
        $hasMfaRelyingParty = $false
        foreach($p in $user.StrongAuthenticationRequirements)
        {
            if ($p.RelyingParty -eq "*")
            {
                $hasMfaRelyingParty = $true
                Write-Host "User was enabled for per-user MFA." -ForegroundColor Yellow
            }
        }
    
        if ($user.StrongAuthenticationMethods.Count -gt 0 -and -not $hasMfaRelyingParty)
        {
            Write-Host $user.UserPrincipalName " is eligible for rollback" -ForegroundColor Yellow
            Write-Host "Rolling back user ..." -ForegroundColor Yellow
            Reset-MsolStrongAuthenticationMethodByUpn -UserPrincipalName $user.UserPrincipalName
            Write-Host "Successfully rolled back user " $user.UserPrincipalName -ForegroundColor Green
        }
        else
        {
            Write-Host $user.UserPrincipalName " is not eligible for rollback. No action required."
        }
    
        Write-Host ""
        Start-Sleep -Milliseconds 750
    }
    
    # Connect
    Import-Module MSOnline
    Connect-MsolService
    
    foreach($line in Get-Content $path)
    {
        RemediateUser -ObjectId $line
    }
    

回退

在 PowerShell 窗口中,运行以下命令,提供脚本和用户文件位置。 出现提示时,输入全局管理员凭据。 该脚本将输出每个用户更新操作的结果。

<script location> -path <user file location>

后续步骤