อาการ
พิจารณาสถานการณ์ต่อไปนี้:
-
คุณปรับใช้ Microsoft Exchange Server 2019 ในองค์กรของคุณ
-
คุณติดตั้งและกําหนดค่า Active Directory Federation Services (AD FS) ใน Exchange Server 2019 ซึ่งช่วยให้ไคลเอ็นต์สามารถใช้การรับรองความถูกต้องโดยใช้การอ้างสิทธิ์ AD FS เพื่อเชื่อมต่อกับ Outlook บนเว็บ (OWA) และ Exchange admin center (EAC)
-
คุณติดตั้ง Cumulative Update 2 for Exchange Server 2019
ในสถานการณ์นี้ คุณไม่สามารถลงชื่อเข้าใช้ OWA และ EAC และคุณได้รับข้อความแสดงข้อผิดพลาดที่คล้ายกับต่อไปนี้:
ข้อผิดพลาดของเซิร์ฟเวอร์ในแอปพลิเคชัน '/ecp หรือ owa'
ไม่สามารถพิมพ์ 'Microsoft.Exchange.Security.Authentication.AdfsIdentity' ชนิด 'System.Security.Principal.WindowsIdentity' ได้
นอกจากนี้ ID เหตุการณ์ 1003 จะถูกบันทึกในตัวแสดงเหตุการณ์ และแสดงข้อผิดพลาดข้อยกเว้นเดียวกัน:
มีข้อผิดพลาดภายในเซิร์ฟเวอร์เกิดขึ้น ข้อยกเว้นที่ไม่ได้จัดการคือ: System.InvalidCastException:
ไม่สามารถพิมพ์ 'Microsoft.Exchange.Security.Authentication.AdfsIdentity' ชนิด 'System.Security.Principal.WindowsIdentity' ได้
การแก้ไข
เมื่อต้องการแก้ไขปัญหานี้ ให้ติดตั้งการอัปเดตสะสม3 for Exchange Server 2019หรือการอัปเดตสะสมที่ใหม่กว่าของ 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 หรือ Load Balancer ของคุณ) เพื่อให้แน่ใจว่าการร้องขอไคลเอ็นต์ที่ได้รับบน mail.contoso.com จะถูกส่งไปยัง Exchange Server เวอร์ชันก่อนหน้า
ถ้าไม่มีเซิร์ฟเวอร์เวอร์ชันก่อนหน้าที่พร้อมใช้งาน ให้ใช้วิธีที่ 2
วิธีที่ 2
ปิดใช้งานวิธีการรับรองความถูกต้อง AD FS ของ OWA และ ECP และเปิดใช้งานวิธีการรับรองความถูกต้องอื่น เมื่อต้องการเรียกใช้ cmdlet PowerShell ต่อไปนี้:
Set-OwaVirtualDirectory -Identity "Server2019CU2\ecp (Default Web site)" - AdfsAuthentication:$false -FormsAuthentication $true
ตัวอย่างนี้สั่งปิดใช้งานการรับรองความถูกต้อง AD FS และเปิดใช้งานการรับรองความถูกต้องฟอร์มบนไดเรกทอรีเสมือนของ OWA เริ่มต้นบนเซิร์ฟเวอร์ที่มีชื่อว่า "Server2019CU2"
Set-EcpVirtualDirectory -Identity "Server2019CU2\owa (Default Web site)" - AdfsAuthentication:$false -FormsAuthentication $true
ตัวอย่างนี้สั่งปิดใช้งานการรับรองความถูกต้อง AD FS และเปิดใช้งานการรับรองความถูกต้องฟอร์มบนไดเรกทอรีเสมือน ECP เริ่มต้นบนเซิร์ฟเวอร์ที่มีชื่อว่า "Server2019CU2"