這篇文章可協助您尋找有關 Microsoft Entra 傳遞驗證常見問題的疑難排解資訊。
重要
如果面臨使用者登入傳遞驗證問題,在沒有可回退的僅限雲端的混合式身分識別管理員帳戶支持下,請勿停用該功能或解除安裝傳遞驗證代理程式。
一般問題
檢查此功能和驗證代理程式的狀態
確定您租用戶上的傳遞驗證功能仍為 [已啟用],而驗證代理程式的狀態會顯示 [作用中],而不是 [非作用中]。 您可以移至 Microsoft Entra Connect 面板,然後到 Microsoft Entra 系統管理中心中檢查狀態。
使用者看到的登入錯誤訊息
如果使用者無法使用通過驗證登入,他們可能會在 Microsoft Entra 登入畫面上看到以下其中一個使用者面向的錯誤訊息。
錯誤 | 描述 | 決議 |
---|---|---|
AADSTS80001 | 無法連線至 Active Directory | 請確定代理伺服器是與需要驗證其密碼且能夠連線到 Active Directory 的使用者相同的 AD 樹系成員。 |
AADSTS80002 | 發生逾時錯誤,無法連接到 Active Directory | 檢查確定 Active Directory 可供使用,而且回應代理程式的要求。 |
AADSTS80004 | 傳遞給代理程式的使用者名稱無效 | 請確定使用者嘗試以正確的使用者名稱登入。 |
AADSTS80005 | 驗證過程中發生無法預測的 WebException | 暫時性錯誤。 再次嘗試請求。 如果持續發生失敗,請連絡 Microsoft 支援服務。 |
AADSTS80007 | 和 Active Directory 通訊時發生錯誤 | 請檢查代理程式記錄以取得詳細資訊,並確認 Active Directory 如預期般運作。 |
使用者收到「使用者名稱/密碼無效」的錯誤訊息
當使用者的內部部署使用者主名 (UPN) 與其雲端 UPN 不同時,就可能會發生這個情況。
若要確認這是問題,請先測試傳遞驗證代理程式是否正常運作:
建立測試帳戶。
在代理程式電腦匯入 PowerShell 模組:
Import-Module "C:\Program Files\Microsoft Azure AD Connect Authentication Agent\Modules\PassthroughAuthPSModule\PassthroughAuthPSModule.psd1"
執行叫用 PowerShell 命令:
Invoke-PassthroughAuthOnPremLogonTroubleshooter
當系統提示您輸入認證時,請輸入用來登入 (
https://login.microsoftonline.com
) 的相同使用者名稱和密碼。
如果您收到相同的使用者名稱/密碼錯誤,這表示驗證代理程式正常運作,而問題可能在於內部部署的 UPN 無法進行路由傳送。 若要深入瞭解,請參閱 設定替代登入標識符。
重要
如果 Microsoft Entra Connect 伺服器沒有加入網域,這是Microsoft Entra Connect:必要條件中提到的一項要求,那麼就會出現用戶名稱或密碼無效的問題。
Microsoft Entra 系統管理中心的登入失敗原因(需要進階授權)
如果您的租使用者有與其相關聯的Microsoft Entra ID P1 或 P2 授權,您也可以查看 Microsoft Entra 系統管理中心的登入活動報告。
流覽至 [Microsoft Entra 系統管理中心][] 上的 >登入],https://portal.azure.com/然後按下特定使用者的登入活動。 尋找 [SIGN-IN 錯誤碼 ] 字段。 使用下表,將該欄位的值對應至失敗的原因和解決方式:
登入錯誤碼 | 登入失敗原因 | 決議 |
---|---|---|
50144 | 使用者的 Active Directory 密碼已到期。 | 在您的內部部署 Active Directory 中重設使用者密碼。 |
80001 | 沒有可用的驗證代理程式。 | 安裝並註冊驗證代理程式。 |
80002 | 驗證代理程式的密碼驗證要求已逾時。 | 檢查是否可以從驗證代理程式連線到您的 Active Directory。 |
80003 | 驗證代理程式收到無效的回應。 | 如果有多位使用者發生一樣的問題,請檢查您的 Active Directory 設定。 |
80004 | 登入要求中使用的使用者主體名稱 (UPN) 不正確。 | 要求使用者以正確的使用者名稱登入。 |
80005 | 驗證代理程式:發生錯誤。 | 暫時性錯誤。 請稍後再試一次。 |
80007 | 驗證代理程式無法連線至 Active Directory。 | 檢查是否可以從驗證代理程式連線到您的 Active Directory。 |
80010 | 驗證代理程式無法解密密碼。 | 如果問題一再出現,請安裝並註冊新的驗證代理程式。 解除安裝目前的程式。 |
80011 | 驗證代理程式無法擷取解密金鑰。 | 如果問題一再出現,請安裝並註冊新的驗證代理程式。 解除安裝目前的程式。 |
80014 | 驗證請求在超過最大允許時間後才被回應。 | 驗證代理逾時。請開啟支援請求,並附上錯誤碼、相互關聯識別碼和時間戳記,以獲得此錯誤的更多詳細資料。 |
重要
傳遞驗證代理程式會藉由呼叫 Win32 LogonUser API,將 Microsoft Entra 使用者的使用者名稱和密碼驗證至 Active Directory。 如此一來,如果您已在 Active Directory 中設定 [登入] 設定以限制工作站登入存取,您也必須將裝載傳遞驗證代理程式的伺服器新增至 [登入] 伺服器的清單。 若並未這樣做,系統將會封鎖使用者登入 Microsoft Entra ID。
驗證代理程式安裝問題
發生意外的錯誤
從伺服器收集代理日誌,並連絡 Microsoft 支援人員,說明您的問題。
驗證代理程式註冊問題
由於連接埠遭到封鎖,所以驗證代理程式註冊失敗。
請確定已安裝驗證代理程式的伺服器可以與 此處所列的服務 URL 和埠通訊。
驗證代理註冊失敗,因為令牌或帳戶授權出現錯誤。
請確定您在所有 Microsoft Entra Connect 或獨立驗證代理程式安裝和註冊作業中,使用僅限雲端的混合式身分識別管理員帳戶。 啟用 MFA 的混合式身分識別管理員帳戶有一個已知的問題,請暫時關閉 MFA (僅為了完成作業) 作為因應措施。
發生意外的錯誤
從伺服器收集代理日誌,並連絡 Microsoft 支援人員,說明您的問題。
驗證代理程式解除安裝問題
解除安裝 Microsoft Entra Connect 時出現的警告訊息
如果您已在租用戶上啟用傳遞驗證,但您嘗試解除安裝 Microsoft Entra Connect,它會顯示下列警告訊息: 「除非您在其他伺服器上有安裝其他傳遞驗證代理程式,否則使用者將無法登入 Microsoft Entra ID。」
在卸載 Microsoft Entra Connect 之前,請確定您的設定 具有高可用性 ,以避免中斷使用者登入。
啟用此功能的問題
因為沒有任何可用的驗證代理程式,所以啟用此功能失敗。
您至少必須有一個使用中的驗證代理程式,才能在租用戶上啟用傳遞驗證。 您可以通過安裝 Microsoft Entra Connect 或獨立的驗證代理程式來安裝驗證代理程式。
因為連接埠遭到封鎖,所以啟用功能失敗。
請確定安裝 Microsoft Entra Connect 的伺服器可以與 此處所列的服務 URL 和埠通訊。
由於權杖或帳戶授權錯誤,啟用功能失敗。
請確定您在啟用此功能時,使用僅限雲端的混合式身分識別管理員帳戶。 啟用 Multi-Factor Authentication (MFA) 的混合式身分識別管理員帳戶有一個已知的問題;請暫時關閉 MFA (僅為了完成作業) 作為因應措施。
蒐集通過式驗證代理記錄檔
根據您可能遇到的問題類型,您需要在不同地方尋找通過身份驗證代理記錄。
Microsoft Entra Connect 日誌
如需檢查與安裝相關的錯誤,請查看 %ProgramData%\AADConnect\trace-*.log
中的 Microsoft Entra Connect 記錄。
驗證代理程式事件記錄
如需與驗證代理程式相關的錯誤,請開啟伺服器上的事件查看器應用程式,然後在 [應用程式與服務記錄]\Microsoft\AzureAdConnect\AuthenticationAgent\Admin 底下檢查。
如需詳細分析,請啟用「會話」記錄 (以滑鼠右鍵按一下事件檢視器中可找到此選項)。 請勿在正常作業期間啟用此記錄檔來執行驗證代理程式;此記錄檔僅用於疑難排解。 只有再次停用此記錄檔之後,才能看見記錄檔的內容。
詳細的追蹤記錄
若要針對使用者登入失敗進行疑難解答,請在 %ProgramData%\Microsoft\Azure AD Connect 驗證代理程式\Trace\尋找追蹤記錄。 這些記錄包含使用傳遞驗證功能的特定使用者為什麼會登入失敗的原因。 這些錯誤也對應到先前的登入失敗原因資料表中所示的登入失敗原因。 以下是記錄項目範例:
AzureADConnectAuthenticationAgentService.exe Error: 0 : Passthrough Authentication request failed. RequestId: 'df63f4a4-68b9-44ae-8d81-6ad2d844d84e'. Reason: '1328'.
ThreadId=5
DateTime=xxxx-xx-xxTxx:xx:xx.xxxxxxZ
您可以開啟命令提示字元並執行下列命令 (注意:請以您在記錄中看到的實際錯誤編號取代 '1328'),以取得錯誤 (前例中為 '1328') 的描述性詳細資料:
Net helpmsg 1328
通過驗證的登入記錄
如果已經啟用稽核記錄,您可以在傳遞驗證伺服器的安全性記錄中找到其他資訊。 查詢登入要求的簡單方法,是使用下列查詢來篩選安全性記錄:
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">*[EventData[Data[@Name='ProcessName'] and (Data='C:\Program Files\Microsoft Azure AD Connect Authentication Agent\AzureADConnectAuthenticationAgentService.exe')]]</Select>
</Query>
</QueryList>
效能監視器計數器
另一種監視驗證代理程式的方法就是,追蹤每個有安裝驗證代理程式之伺服器上的特定效能監視計數器。 使用下列全域計數器 (# PTA 驗證、 #PTA 驗證失敗 ,以及 #PTA 成功驗證)和錯誤計數器 (# PTA 驗證錯誤):
重要
Pass-through Authentication 透過使用多個驗證代理來提供高可用性,而不是負載平衡。 根據您的設定, 並非所有 的驗證代理程式都會收到大致 相等 的要求數目。 特定的驗證代理程式可能完全不會收到流量。