徵兆
請試想下列案例:
-
您部署貴組織的 Microsoft Exchange Server 2019。
-
您可以在 Exchange Server 2019 中 (AD FS) Active Directory Federation Services。 這可讓用戶端使用 AD FS 聲明型驗證來連結至 Outlook 網頁 (OWA) 和 Exchange 系統管理中心 (EAC) 。
-
您安裝 Exchange Server 2019 的累積更新 2。
在此情境中,您無法登錄 OWA 和 EAC,而且收到類似下列的錯誤訊息:
'/ecp 或 owa' 應用程式中的伺服器錯誤。
無法將類型為 'Microsoft.Exchange.Security.Authentication.AdfsIdentity' 的物件強制轉換為輸入 'System.Security.Principal.WindowsIdentity'。此外,事件識別碼 1003 會記錄在事件檢視器中,並且顯示相同的例外錯誤:
發生內部伺服器錯誤。 未處理例外為:System.InvalidCastException:
無法將類型為 'Microsoft.Exchange.Security.Authentication.AdfsIdentity' 的物件強制轉換為輸入 'System.Security.Principal.WindowsIdentity'。
解決方案
若要修正此問題,請安裝Exchange Server 2019的累積更新 3 或 Exchange Server 2019 的稍後累積更新。
因應措施
若要解決此問題,請使用下列其中一種方法。
方法 1
設定下列其中一個版本的 Exchange Server,Front-End組織中提供用戶端存取權:
-
Exchange Server 2019 CU1 或 RTM
-
Exchange Server 2016 CU11 或更新版本
-
Exchange Server 2013 CU21 或更新版本
例如,如果您的伺服器執行 Exchange Server 2019 CU2,且 AD FS 已配置為處理用戶端要求 ,例如 HTTPs://mail.contoso.com/owa。。 如果發生這種情況,請對 DNS (主機記錄或負載平衡器) 進行適當的變更,以確保 mail.contoso.com 收到的用戶端要求會送到較舊版本的 Exchange Server。
如果沒有可用的較舊版本伺服器,請使用方法 2。
方法 2
停用 OWA 和 ECP 的 AD FS 驗證方法,並啟用任何其他驗證方法。 若要這麼做,請執行下列 PowerShell Cmdlet:
Set-OwaVirtualDirectory -Identity "Server2019CU2\ecp (Default Web site)" - AdfsAuthentication:$false -FormsAuthentication $true
此範例命令會停用 AD FS 驗證,並啟用伺服器上名為「Server2019CU2」的預設 OWA 虛擬目錄上的表單驗證。
Set-EcpVirtualDirectory -Identity "Server2019CU2\owa (Default Web site)" - AdfsAuthentication:$false -FormsAuthentication $true
此範例命令會停用 AD FS 驗證,並啟用伺服器上名為「Server2019CU2」的預設 ECP 虛擬目錄上的表單驗證。