วิธีการแก้ไข Get-ExchangeCertificate แสดงผลลัพธ์ว่างเปล่า
เราต้องการตรวจสอบใบรับรอง Exchange Server การลงชื่อเข้าใช้และตรวจสอบใน Exchange admin center ทุกอย่างดูดี แต่เมื่อเราเรียกใช้ Get-ExchangeCertificate cmdlet จะแสดงผลลัพธ์ว่างเปล่า ทำไมสิ่งนี้ถึงเกิดขึ้น? ในบทความนี้ คุณจะได้เรียนรู้วิธีแก้ไข Get-ExchangeCertificate cmdlet ที่แสดงผลลัพธ์ว่างเปล่า
cmdlet รับ ExchangeCertificate แสดงผลลัพธ์ที่ว่างเปล่า
เซิร์ฟเวอร์ Exchange สองเครื่อง (EX01-2019/EX02-2019) กำลังทำงานอยู่ในองค์กร มาเรียกใช้ Get-ExchangeCertificate cmdlet บนเซิร์ฟเวอร์ Exchange ทั้งสองเครื่อง
Get-ExchangeCertificateเอาต์พุตบน Exchange Server EX01-2019 และ EX02-2019 แสดงเอาต์พุตว่างเปล่า
Thumbprint Services Subject
---------- -------- -------เหตุใดเราจึงได้รับสิ่งนี้ และอะไรคือวิธีแก้ปัญหาสำหรับเอาต์พุตว่างเมื่อเรียกใช้ Get-ExchangeCertificate cmdlet
โซลูชันสำหรับ Get-ExchangeCertificate แสดงผลลัพธ์ที่ว่างเปล่า
ผลลัพธ์ว่างเปล่าปรากฏขึ้นเนื่องจากมีการเปิดใช้งานการลงนาม Payload แบบอนุกรม และใบรับรอง Exchange Auth หายไปหรือเสียหาย หากมีเพียงใบรับรอง Exchange Auth หายไปหรือเสียหาย และไม่ได้เปิดใช้งานการลงนามเพย์โหลดแบบอนุกรม Get-ExchangeCertificate cmdlet จะแสดงค่าในผลลัพธ์
หมายเหตุ: ขณะนี้การลงนามใบรับรองของเพย์โหลดการทำให้เป็นอนุกรมของ PowerShell เปิดใช้งานตามค่าเริ่มต้นตั้งแต่เดือนพฤศจิกายน 2023 การอัปเดตความปลอดภัยของเซิร์ฟเวอร์ Exchange ขึ้นไป
เพื่อแก้ไขปัญหานี้ เราต้องติดตั้งใบรับรอง Exchange Auth ใหม่บน Exchange Server
หากคุณมีใบรับรอง Exchange Auth อยู่แล้ว และแสดงผลลัพธ์ว่างเปล่าเมื่อเรียกใช้ Get-ExchangeCertificate แสดงว่าใบรับรองเสียหาย
ข้อสำคัญ: คุณเพิ่งติดตั้งใบรับรอง Exchange Auth หรือไม่ อาจใช้เวลา 24 ชั่วโมงจึงจะมีผล ดังนั้นคุณต้องรอและตรวจสอบในภายหลัง
1. ตรวจสอบใบรับรอง Microsoft Exchange Server Auth
สิ่งสำคัญมากคือใบรับรองที่กำหนดค่าเป็นใบรับรองการตรวจสอบความถูกต้องนั้นถูกต้อง (ไม่หมดอายุ) และพร้อมใช้งานบนเซิร์ฟเวอร์ Exchange ทั้งหมด (ยกเว้นบทบาท Edge Transport และบทบาทเครื่องมือการจัดการการแลกเปลี่ยน) ภายในองค์กร
ดาวน์โหลดสคริปต์ MonitorExchangeAuthCertificate.ps1 PowerShell และวางไว้ในโฟลเดอร์ C:\scripts
เริ่ม Exchange Management Shell และเรียกใช้คำสั่งด้านล่างเพื่อตรวจสอบสถานะใบรับรอง Exchange Auth
หมายเหตุ: หากต้องการเรียกใช้สคริปต์ คุณต้องเป็นสมาชิกของกลุ่มบทบาทการจัดการองค์กร สคริปต์ต้องถูกเรียกใช้จากพร้อมท์คำสั่ง Exchange Management Shell (EMS) ที่ยกระดับบน Exchange Server ที่เรียกใช้บทบาทกล่องจดหมาย ไม่สามารถเรียกใช้สคริปต์บนเครื่อง Exchange Management Tools เท่านั้น
C:\Scripts\.\MonitorExchangeAuthCertificate.ps1ผลลัพธ์แสดงว่าใบรับรอง Exchange Auth จำเป็นต้องถูกแทนที่ด้วยใบรับรองใหม่
Monitor Exchange Auth Certificate script version 23.11.22.1714
The script was run without parameter therefore, only a check of the Auth Certificate configuration is performed and no change will be made
Current Auth Certificate thumbprint: 4010E939A05777DC08A4196830125B2AF2BDFBC1
Current Auth Certificate is valid for -1 day(s)
Exchange Hybrid was detected in this environment
The actively used Auth Certificate is missing on the following servers:
EX01-2019.exoip.local, EX02-2019.exoip.local
Test result: The Auth Certificate in use must be replaced by a new one.
Log file written to: C:\Program Files\Microsoft\Exchange Server\V15\Logging\AuthCertificateMonitoring\AuthCertificateMonitoringLog_20231201153933.txt2. ต่ออายุใบรับรอง Exchange Auth
เรียกใช้คำสั่งด้านล่างเพื่อต่ออายุใบรับรอง Microsoft Exchange Auth
C:\scripts\.\MonitorExchangeAuthCertificate.ps1 -ValidateAndRenewAuthCertificate $true -IgnoreHybridConfig $true -Confirm:$falseผลลัพธ์แสดงว่าการดำเนินการต่ออายุได้ดำเนินการสำเร็จแล้ว
Monitor Exchange Auth Certificate script version 23.11.22.1714
Mode: Testing and replacing or importing the Auth Certificate (if required)
Renewal scenario: The Auth Certificate in use must be replaced by a new one.
WARNING: Waiting for service 'Microsoft Exchange Service Host (MSExchangeServiceHost)' to start...
The renewal action was successfully performed - the new Auth Certificate will become active on: 12/01/2023 15:43:41
Please ensure to run the Hybrid Configuration Wizard (HCW) as soon as the new Auth Certificate becomes active.
Log file written to: C:\Program Files\Microsoft\Exchange Server\V15\Logging\AuthCertificateMonitoring\AuthCertificateMonitoringLog_20231201154320.txtหมายเหตุ: หากคุณมีการกำหนดค่า Exchange Hybrid คุณต้องเรียกใช้ตัวช่วยสร้างการกำหนดค่าไฮบริดอีกครั้งทันทีที่ใบรับรอง Auth ใหม่เริ่มทำงาน ให้ดำเนินการดังกล่าวหลังจากที่คุณตรวจสอบใบรับรอง Exchange Auth ในขั้นตอนถัดไป
3. ตรวจสอบใบรับรอง Exchange Auth
เรียกใช้สคริปต์ MonitorExchangeAuthCertificate.ps1 เพื่อตรวจสอบใบรับรอง Exchange Auth
C:\Scripts\MonitorExchangeAuthCertificate.ps1ผลลัพธ์แสดงว่าใบรับรอง Auth ถูกต้อง
Monitor Exchange Auth Certificate script version 23.11.22.1714
The script was run without parameter therefore, only a check of the Auth Certificate configuration is performed and no change will be made
Current Auth Certificate thumbprint: 6789B2FE30740132E2DDBF147023E7485F476526
Current Auth Certificate is valid for 1826 day(s)
Exchange Hybrid was detected in this environment
Test result: No renewal action is required
Log file written to: C:\Program Files\Microsoft\Exchange Server\V15\Logging\AuthCertificateMonitoring\AuthCertificateMonitoringLog_20231201155121.txt4. เรียกใช้ Get-ExchangeCertificate cmdlet
เรียกใช้ Get-ExchangeCertificate cmdlet และตรวจสอบว่าผลลัพธ์ปรากฏขึ้นพร้อมกับค่าแทนที่จะเป็นเอาต์พุตว่างเปล่า
Get-ExchangeCertificateใบรับรองทั้งหมดปรากฏในผลลัพธ์และดูดี
Thumbprint Services Subject
---------- -------- -------
6789B2FE30740132E2DDBF147023E7485F476526 ....S.. CN=Microsoft Exchange Server Auth Certificate
804F01FADE7DF2AA309277F6BD0F96CF4B3C9B62 IP.WS.. CN=EX02-2019
6BC65424EC1FA8803CDE86F6286518FDB639BFB6 ....... CN=CLIUSR
7EB920C8E05D8DBD0E1CF0C06A584C879F674E60 ....... CN=WMSvc-SHA2-EX02-2019
0014716C6390CFFBA0794248EE248D40129D7020 ....... CN=CLIUSR5. รันตัวช่วยสร้างการกำหนดค่าไฮบริดอีกครั้ง
หากคุณมีสภาพแวดล้อม Exchange Hybrid คุณต้องรันตัวช่วยสร้างการกำหนดค่าไฮบริดอีกครั้ง
6. ตรวจสอบสถานะใบรับรอง Exchange Server
เรียกใช้สคริปต์ Exchange Health Checker และตรวจสอบสถานะใบรับรอง
[PS] C:\scripts>Get-ExchangeServer | ?{$_.AdminDisplayVersion -Match "^Version 15"} | .\HealthChecker.ps1; .\HealthChecker.ps1 -BuildHtmlServersReport -HtmlReportFile "ExchangeAllServersReport.html"; .\ExchangeAllServersReport.htmlนี่คือลักษณะที่ดูแลทันทีหลังจากที่คุณติดตั้งใบรับรอง Exchange Auth ใหม่ สถานะใบรับรองทั้งหมดปรากฏเป็น ไม่ทราบ
ให้เวลาสูงสุด 24 ชั่วโมงแล้วรันสคริปต์ตรวจสอบประสิทธิภาพการทำงานอีกครั้ง สถานะใบรับรองทั้งหมดปรากฏเป็น ถูกต้อง
แค่นั้นแหละ!
อ่านเพิ่มเติม: วิธีส่งออกใบรับรองใน Exchange Server »
บทสรุป
คุณได้เรียนรู้วิธีแก้ไข Get-ExchangeCertificate แสดงผลลัพธ์ที่ว่างเปล่า เรียกใช้สคริปต์ PowerShell MonitorExchangeAuthCertificate.ps1 และแทนที่ใบรับรอง Exchange Server Auth รอได้สูงสุด 24 ชั่วโมง หลังจากนั้น ใบรับรองทั้งหมดจะถือว่าถูกต้อง และผลลัพธ์ก็ใช้งานได้
คุณสนุกกับบทความนี้หรือไม่? คุณอาจต้องการวิธีนำเข้าใบรับรองใน Exchange Server อย่าลืมติดตามเราและแบ่งปันบทความนี้

