分享方式:


針對合併的安全性資訊註冊進行疑難排解

本文資訊主要是引導系統管理員針對使用者所回報的合併註冊體驗問題進行疑難排解。

稽核記錄

針對合併註冊所記錄的事件位於 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) 互動。 如需了解常見的移轉問題,請參閱移轉常見問題注意:MSOnline 1.0.x 版可能會在 2024 年 6 月 30 日之後發生中斷。

  1. 安裝適當的 Azure AD PowerShell 模組。 在 PowerShell 視窗中,執行下列命令來安裝模組:

    Install-Module -Name MSOnline
    Import-Module MSOnline
    
  2. 將受影響的使用者物件識別碼清單整理成每行一個識別碼的文字檔,並儲存到電腦中。 記下檔案的所在位置。

  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>

下一步