ค้นหาเว็บไซต์

วิธีการแก้ไข 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.txt

2. ต่ออายุใบรับรอง 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.txt

4. เรียกใช้ 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=CLIUSR

5. รันตัวช่วยสร้างการกำหนดค่าไฮบริดอีกครั้ง

หากคุณมีสภาพแวดล้อม 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 อย่าลืมติดตามเราและแบ่งปันบทความนี้

บทความที่เกี่ยวข้อง