Active Directory 聯合服務(AD FS)提供兩個主要記錄,可用來排除故障。 他們是:
- 管理員記錄檔。
- 追蹤日誌。
檢視管理員記錄檔
系統管理記錄檔提供高階資訊,說明正在發生的問題,並預設為啟用。 若要檢視管理員記錄檔:
開啟 事件檢視器。
展開 應用程式和服務記錄。
展開 [AD FS]。
選取 [管理員]。
使用 Tracelog
Tracelog 是記錄詳細訊息的位置,也是疑難解答時最有用的記錄檔。 由於許多 Tracelog 資訊可以在短時間內產生,這可能會影響系統效能,因此預設會停用記錄。
啟用和檢視 Tracelog
開啟事件檢視器,然後展開應用程式和服務記錄。
以滑鼠右鍵按兩下 [應用程式和服務記錄],然後選取 [ 檢視]。 然後選取 [顯示分析和偵錯記錄]。 此窗格會顯示更多節點。
展開 AD FS 追蹤。
以滑鼠右鍵按一下 [偵錯],然後選取 [啟用記錄]。
Windows Server 2016 上 AD FS 的事件稽核資訊
根據預設,Windows Server 2016 中的 AD FS 已啟用基本層級的稽核。 透過基本稽核,系統管理員會看到單一要求的五個或更少事件。 這項資訊顯示系統管理員在查看單一要求時,事件數目已大幅減少。 您可以使用 PowerShell Cmdlet 來提升或降低稽核層級:
Set-AdfsProperties -AuditLevel
下表說明可用的稽核層級。
| 審核級別 | PowerShell 語法 | Description |
|---|---|---|
| None | Set-AdfsProperties -AuditLevel 無 | 稽核已停用,且不會記錄任何事件。 |
| 基本 (預設) | Set-AdfsProperties -AuditLevel 基本 | 單一要求不會記錄超過五個事件。 |
| Verbose | Set-AdfsProperties -AuditLevel 詳細說明 | 系統會記錄所有事件。 此層級會記錄每個要求的大量資訊。 |
若要檢視目前的稽核層級,您可以使用 PowerShell Cmdlet: Get-AdfsProperties。
您可以使用 PowerShell Cmdlet 來提升或降低稽核層級: Set-AdfsProperties -AuditLevel。
事件類型
AD FS 事件可以是不同類型的,根據 AD FS 處理的不同要求類型。 每個事件類型都有與其相關聯的特定數據。 事件類型可以區分登入要求和系統要求。 您的登入要求可能是令牌要求,而您的系統要求可能是伺服器伺服器呼叫,包括擷取組態資訊。
下表描述事件的基本類型。
| 事件類型 | 事件識別碼 | Description |
|---|---|---|
| 最新憑證驗證成功 | 1202 | 聯邦服務成功驗證新憑證的請求。 此事件包括 WS-Trust、WS-Federation、SAML-P(產生 SSO 的第一回合)和 OAuth 授權端點。 |
| 全新認證驗證錯誤 | 1203 | 同盟服務上一個全新憑證驗證失敗的請求。 此事件包括 WS-Trust、WS-Fed、SAML-P(產生 SSO 的第一回合),以及 OAuth 授權端點。 |
| 成功獲取應用程式令牌 | 1200 | 同盟服務成功處理了要求並發出安全性令牌。 針對 WS-Federation 和 SAML-P,當要求使用 SSO 工件處理時,會記錄此事件(例如 SSO Cookie)。 |
| 應用程式令牌失敗 | 1201 | 在聯盟服務上,安全性令牌發行失敗的請求。 針對 WS-Federation 和 SAML-P,當使用 SSO 附件處理請求時,此事件會被記錄下來(例如 SSO cookie)。 |
| 密碼變更要求成功 | 1204 | 同盟服務成功處理密碼變更要求的交易。 |
| 密碼變更要求錯誤 | 1205 | 同盟服務無法處理密碼變更要求的交易。 |
| 註銷成功 | 1206 | 描述成功的註銷要求。 |
| 登出失敗 | 1207 | 描述失敗的註銷要求。 |
安全審核
AD FS 服務帳戶的安全性稽核有時有助於追蹤密碼更新、要求/回應記錄、要求內容標頭和裝置註冊結果的問題。 預設會停用對AD FS服務帳戶的稽核。
啟用安全性稽核
選取 [開始]。 然後移至 [程式>管理工具],然後選擇 [本機安全性原則]。
移至 [安全性設定\本機原則\用戶版權管理 ] 資料夾,然後按兩下 [ 產生安全性稽核]。
在 [本機安全性設定] 索引標籤上,驗證 AD FS 服務帳戶是否已列出。 如果不存在,請選取 [ 新增使用者 或 群組],然後將其新增至清單。 然後選取確定。
開啟具有更高權限的命令提示字元,然後執行下列命令以啟用稽核:
auditpol.exe /set /subcategory:"Application Generated" /failure:enable /success:enable關閉 本機安全策略,然後開啟AD FS管理嵌入式管理單元。
若要開啟 AD FS 管理嵌入式管理單元,請選取 [開始]。 移至 [程式>系統管理工具],然後選取 [ AD FS 管理]。
在 [動作] 窗格中,選取 [編輯同盟服務屬性]。
在 [同盟服務屬性] 對話方塊中,選取 [事件] 索引標籤。
選取 [成功稽核 ] 和 [失敗稽核] 核取方塊。
請選擇 [確定]。
Note
只有在 AD FS 位於獨立成員伺服器上時,才會使用上述指示。 如果 AD FS 是在網域控制器上執行,請使用位於組策略管理/樹系/網域/域控制器中的預設域控制器原則,而不是本機安全策略。 選取 [ 編輯 ],然後移至 [電腦設定\原則\Windows 設定\安全性設定\本機原則\使用者權限管理]。
Windows Communication Foundation 和 Windows Identity Foundation 訊息
除了追蹤記錄之外,有時候您可能需要檢視 Windows Communication Foundation (WCF) 和 Windows Identity Foundation (WIF) 訊息,以針對問題進行疑難解答。 您可以修改 AD FS 伺服器上的 Microsoft.IdentityServer.ServiceHost.Exe.Config 檔案來檢視這些訊息。
此檔案位於 <%system 根%>\Windows\ADFS ,且格式為 XML。 檔案的相關部份會顯示在下列範例中:
<!-- To enable WIF tracing, change the following switchValue to the desired trace level - Verbose, Information, Warning, Error, Critical -->
<source name="Microsoft.IdentityModel" switchValue="Off"> … </source>
<!-- To enable WCF tracing, change the following switchValue to the desired trace level - Verbose, Information, Warning, Error, Critical -->
<source name="System.ServiceModel" switchValue="Off" > … </source>
套用這些變更之後,請儲存設定,然後重新啟動AD FS服務。 設定適當的參數來啟用這些追蹤之後,它們會出現在 Windows 事件查看器中的 AD FS Tracelog 中。
關聯事件
最難以排解的問題之一是會產生許多錯誤或除錯事件的存取問題。
為了協助進行這項作業,AD FS 會將記錄到事件檢視器的所有事件相互關聯,並同時在管理員和偵錯記錄檔中顯示。 這些記錄中的每個記錄都會使用稱為活動標識碼的唯一全域唯一標識碼(GUID)對應至特定要求。 AD FS 在使用被動要求者配置檔的應用程式向 Web 應用程式提出令牌發行要求時,生成此識別碼。 AD FS 也會在將要求直接傳送至使用 WS-Trust 協議的宣告提供者時,為應用程式產生識別碼。
此活動標識碼在要求的整個持續時間內維持不變,而且會記錄為該要求事件查看器中所記錄之每個事件的一部分。 這意味著:
- 使用此活動標識碼篩選或搜尋事件查看器,有助於追蹤對應至令牌要求的所有相關事件。
- 不同的機器會記錄相同的活動標識碼,這可讓您針對多個計算機的使用者要求進行疑難解答,例如同盟伺服器 Proxy (FSP)。
- 如果AD FS要求以任何方式失敗,活動標識碼也會出現在使用者的瀏覽器中,讓用戶能夠將此標識碼傳達給技術支持人員或IT支持人員。
為了協助進行疑難排解,AD FS 在 AD FS 伺服器上的令牌發行程序失敗時,也會記錄呼叫者識別事件。 此事件包含下列其中一個宣告類型的宣告類型和值,假設這項資訊是傳遞至同盟服務做為令牌要求的一部分:
https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountnamehhttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifierhttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/upnhhttps://schemas.microsoft.com/ws/2008/06/identity/claims/upnhttp://schemas.xmlsoap.org/claims/UPNhttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddresshhttps://schemas.microsoft.com/ws/2008/06/identity/claims/emailaddresshttp://schemas.xmlsoap.org/claims/EmailAddresshttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/namehttps://schemas.microsoft.com/ws/2008/06/identity/claims/namehttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier
呼叫端標識碼事件也會記錄活動標識碼,讓您能夠使用該活動標識碼來篩選或搜尋特定要求的事件記錄檔。