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

ใหม่ MailboxRepairRequest: แก้ไขกล่องจดหมายที่เสียหายใน Exchange 2016/2013/2010


ผู้ดูแลระบบ Exchange มักจะต้องจัดการกับความเสียหายและข้อผิดพลาดทางตรรกะต่างๆ ในกล่องจดหมายของผู้ใช้ ข้อผิดพลาดเชิงตรรกะดังกล่าวปรากฏในปัญหาต่างๆ เช่น ข้อผิดพลาดในการซิงโครไนซ์ Outlook แฮงค์ การแสดงรายการโฟลเดอร์ไม่ถูกต้อง หมายเลขรายการไม่ถูกต้อง ข้อผิดพลาดในการค้นหาและโฟลเดอร์สาธารณะ เป็นต้น

ข้อผิดพลาดเหล่านี้ส่วนใหญ่เกิดขึ้นเนื่องจากความล้มเหลวใน Outlook ในกรณีที่ไคลเอ็นต์อัปเดตค่าสถานะ MAPI อย่างไม่ถูกต้องในระหว่างการประมวลผลองค์ประกอบของโฟลเดอร์กล่องจดหมาย ส่วนใหญ่มักเกิดขึ้นกับกล่องจดหมายที่ใช้ร่วมกันซึ่งผู้ใช้หลายคนใช้พร้อมกัน ในกรณีส่วนใหญ่ ผู้ใช้อาจไม่ทราบด้วยซ้ำว่ามีข้อผิดพลาดในกล่องจดหมายหรือโฟลเดอร์ที่เชื่อมต่อ ซึ่งปกติแล้วทุกอย่างทำงานได้ดี อย่างไรก็ตาม ด้วยข้อผิดพลาดบางประการ ผู้ใช้อาจประสบปัญหาขณะเข้าถึงกล่องจดหมายหรือบางโฟลเดอร์ ดูหรือลบอีเมลหรือโฟลเดอร์ เป็นต้น

หากผู้ใช้พบปัญหาดังกล่าว ผู้ดูแลระบบของเซิร์ฟเวอร์ Exchange ควรใช้หนึ่งในสามวิธีต่อไปนี้เพื่อกู้คืนกล่องจดหมายที่เสียหายดังกล่าว

  • การนำเข้าข้อมูลจาก Outlook ที่ทำงานในโหมดแคชไปยังไฟล์ .PST การลบและสร้างกล่องจดหมายใหม่สำหรับผู้ใช้ "ปัญหา " และสุดท้ายการนำเข้าข้อมูลจากไฟล์ PST ไปยังกล่องจดหมาย Exchange ใหม่ วิธีนี้ถือว่ามีการจัดการด้วยตนเองจำนวนหนึ่งบนคอมพิวเตอร์ของผู้ใช้

    เคล็ดลับ คุณสามารถนำเข้าและส่งออกข้อมูลไปยังไฟล์ PST ใน Exchange Server 2019/2016/2013/2010 โดยใช้ cmdlets New-MailboxImportRequest และ New-MailboxExportRequest

  • ดำเนินการ ยกเลิกการต่อเชื่อมที่เก็บกล่องจดหมาย และตรวจสอบด้วยยูทิลิตี้ Isinteg.exe (Information Store Integrity Checker) ซึ่งช่วยให้สามารถแก้ไขความเสียหายในฐาน Exchange ในระดับแอปพลิเคชัน วิธีนี้ต้องการเวลาหยุดทำงานของบริการอีเมลค่อนข้างนานสำหรับผู้ใช้ทั้งหมดที่มีการจัดสรรกล่องจดหมายในฐานข้อมูลที่ไม่ได้เชื่อมต่อ

    หมายเหตุ ในบางกรณี คุณสามารถลองย้ายกล่องจดหมายของผู้ใช้ทั้งหมดไปยังฐานข้อมูลกล่องจดหมาย "ปกติ" ในกรณีนี้ คุณสามารถตรวจสอบความสมบูรณ์ของร้านค้าได้โดยไม่ต้องปิดใช้งานผู้ใช้จำนวนมาก อย่างไรก็ตาม เทคนิคนี้ใช้ไม่ได้เสมอไปด้วยเหตุผลหลายประการ

  • กู้คืนฐานข้อมูล Exchange จากข้อมูลสำรอง นำเข้าข้อมูลจากกล่องจดหมายที่ระบุไปยังไฟล์ PST และถ่ายโอนข้อมูลเพิ่มเติมไปยังกล่องจดหมายที่สร้างขึ้นใหม่ วิธีนี้มีข้อเสียอย่างหนึ่งคือ อีเมลทั้งหมดที่ส่งถึงกล่องจดหมายของผู้ใช้หลังจากเวลาดำเนินการสำรองข้อมูลครั้งล่าสุดอาจสูญหายได้

ผู้ดูแลระบบเซิร์ฟเวอร์ Exchange ต้องใช้วิธีการทั้งหมดที่อธิบายไว้ข้างต้นจนถึงรุ่น Exchange 2010 SP1 เมื่อมีฟังก์ชันที่สะดวกมากขึ้นปรากฏขึ้นเพื่อกู้คืนโครงสร้างเชิงตรรกะของกล่องจดหมายที่เสียหาย - PowerShell cmdlet ใหม่ New-MailboxRepairRequest cmdlet นี้ช่วยให้คุณค้นหาและแก้ไขข้อผิดพลาดเชิงตรรกะและความเสียหายทั้งหมดในฐานข้อมูล Exchange ในระดับแอปพลิเคชัน คุณสามารถค้นหาและแก้ไขข้อผิดพลาดทั้งหมดสำหรับกล่องจดหมายบางกล่องและกล่องจดหมายทั้งหมดในฐานข้อมูล

นอกจากนี้ เมื่อคุณใช้ cmdlet MailboxRepairRequest ใหม่ คุณไม่จำเป็นต้องใช้ฐานข้อมูลจดหมายทั้งหมดเป็นโหมดออฟไลน์ กล่องจดหมายเพียงกล่องเดียวสำหรับแต่ละฐานข้อมูลไม่พร้อมใช้งาน กล่องจดหมายที่กำลังดำเนินการตรวจสอบและความสมบูรณ์อยู่ในขณะนี้ ก่อนที่จะดำเนินการใด ๆ ที่อธิบายไว้ข้างต้นเพื่อกู้คืนความสมบูรณ์ของกล่องจดหมาย คุณควรลองใช้คำสั่ง PoSh นี้อย่างแน่นอน

คุณสามารถใช้ cmdlet นี้เพื่อค้นหา ซ่อมแซม และตรวจสอบกล่องจดหมายที่เสียหายใน Exchange 2010, 2013 และ 2016 ทุกรุ่นที่รองรับ

ไวยากรณ์ของ cmdlet New-MailboxRepairRequest เป็นดังนี้:

New-MailboxRepairRequest -Mailbox  -CorruptionType <MailboxStoreCorruptionType[]> [-Archive ] [-Confirm []] [-DetectOnly ] [-DomainController ] [-WhatIf []]

Cmdlet ช่วยให้คุณค้นหาและแก้ไขประเภทความเสียหายต่อไปนี้ในกล่องจดหมาย Exchange:

  • SearchFolder - ข้อผิดพลาดในโฟลเดอร์การค้นหา

  • AggregateCounts - ตรวจสอบและแก้ไขจำนวนรายการในโฟลเดอร์และขนาด

  • FolderView - เนื้อหาที่แสดงโดยมุมมองโฟลเดอร์ไม่ถูกต้อง

  • ProvisionedFolder - โครงสร้างโลจิคัลของโฟลเดอร์เสียหาย

เมื่อใช้พารามิเตอร์ DetectOnly คุณสามารถตรวจสอบกล่องจดหมายหรือฐานข้อมูลกล่องจดหมายโดยไม่ต้องดำเนินการใดๆ ตัวอย่างเช่น:

New-MailboxRepairRequest -Mailbox a-d -DetectOnly -CorruptionType ProvisionedFolder, SearchFolder

ตัวอย่างต่อไปนี้จะเริ่มกระบวนการวิเคราะห์กล่องจดหมายของผู้ใช้ a-d และการกู้คืนสำหรับความเสียหายทั้ง 4 ประเภท

New-MailboxRepairRequest -Mailbox a-d -CorruptionType ProvisionedFolder, SearchFolder, AggregateCounts, Folderview

ตัวอย่างต่อไปนี้จะเริ่มต้นกระบวนการของการวิเคราะห์กล่องจดหมายของผู้ใช้ a-d และการกู้คืนสำหรับความเสียหายทั้ง 4 ประเภท:

New-MailboxRepairRequest -Database “NYMailBase1” -CorruptionType ProvisionedFolder, SearchFolder, AggregateCounts, Folderview

คำสั่งทำงานในโหมดเบื้องหลังและผลลัพธ์จะไม่แสดงในคอนโซล PowerShell คุณสามารถติดตามได้โดย taskID (RequestID) หรือ/และด้วยความช่วยเหลือของบันทึกเหตุการณ์ของ Windows (แหล่งที่มาของเหตุการณ์: MSExchangeIS Mailbox Store; EventID 10059 - คำขอซ่อมแซมเริ่มต้น; EventID 10048 ดำเนินการตามคำขอซ่อมแซมสำเร็จ)

รหัสเหตุการณ์ต่อไปนี้ยังมีประโยชน์อีกด้วย (เพื่อความสะดวกในการติดตามขั้นตอนการกู้คืนสำหรับกล่องจดหมาย Exchange คุณสามารถรวมเข้ากับมุมมองเหตุการณ์ที่กำหนดเองด้วยที่เก็บกล่องจดหมาย MSExchangeIS ต้นทาง)

  • 10044 - คำขอซ่อมแซมกล่องจดหมายล้มเหลวสำหรับโฟลเดอร์ที่จัดเตรียมไว้

  • 10045 - คำขอซ่อมแซมฐานข้อมูลล้มเหลวสำหรับโฟลเดอร์ที่จัดเตรียมไว้

  • 10046 - คำขอซ่อมแซมโฟลเดอร์ที่จัดเตรียมไว้เสร็จสมบูรณ์

  • 10047 - คำขอซ่อมแซมระดับกล่องจดหมายเริ่มต้นขึ้น

  • 10048 - คำขอซ่อมแซมเสร็จสมบูรณ์

  • 10049 - คำขอซ่อมแซมกล่องจดหมายหรือฐานข้อมูลล้มเหลวเนื่องจาก Exchange พบปัญหากับฐานข้อมูลหรืองานอื่นกำลังทำงานกับฐานข้อมูล

  • 10050 - งานคำขอซ่อมแซมกล่องจดหมายข้ามกล่องจดหมาย

  • 10051 - คำขอซ่อมแซมฐานข้อมูลถูกยกเลิกเนื่องจากฐานข้อมูลถูกถอด

  • 10059 - คำขอซ่อมแซมระดับฐานข้อมูลเริ่มต้นขึ้น

  • 10062 - ตรวจพบการทุจริต

  • 10064 - คำขอซ่อมแซมโฟลเดอร์สาธารณะเริ่มต้นขึ้น

คำแนะนำ cmdlet พิเศษ Get-MailboxRepairRequest ปรากฏใน Exchange 2013 ซึ่งช่วยให้คุณได้รับสถานะของงานซ่อมแซมกล่องจดหมาย

หนึ่งในคุณลักษณะของ cmdlet MailboxRepairRequest ใหม่ - หลังจากเริ่มต้นแล้ว กระบวนการซ่อมแซมกล่องจดหมายไม่สามารถถูกขัดจังหวะโดยไม่หยุดบริการ Exchange Information Store และยกเลิกการต่อเชื่อมฐานข้อมูลกล่องจดหมาย

หากมีฐานข้อมูลกล่องจดหมายหลายรายการบนเซิร์ฟเวอร์ เพื่อรักษาประสิทธิภาพการทำงานของเซิร์ฟเวอร์ Exchange ไม่แนะนำให้เรียกใช้ New-MailboxRepairRequest พร้อมกันสำหรับฐานข้อมูลจำนวนมาก (แม้ว่าจะรองรับกระบวนการ MailboxRepairRequest เดียวเท่านั้นสำหรับหนึ่ง ฐานข้อมูลและคำขอซ่อมแซมสูงสุด 100 รายการต่อเซิร์ฟเวอร์)

ลองดูกรณีเล็กๆ หนึ่งกรณีเป็นตัวอย่างการใช้งาน cmdlet เชิงปฏิบัติ

ผู้ใช้ Exchange 2016 ไม่สามารถดูข้อความในโฟลเดอร์ Outlook อันใดอันหนึ่งได้ โฟลเดอร์ที่ได้รับการแต่งตั้งถูกกู้คืนจากการสำรองข้อมูลกล่องจดหมาย อย่างไรก็ตาม ดูเหมือนจะเป็นไปไม่ได้ที่จะลบโฟลเดอร์นี้ด้วยความช่วยเหลือของ Outlook/Outlook Web App/MFCMAPI (การลบแบบซอฟต์หรือฮาร์ด) เมื่อคุณพยายามลบโฟลเดอร์ใน Outlook 2016 คุณได้รับข้อผิดพลาดต่อไปนี้:

ไม่สามารถลบโฟลเดอร์นี้ได้ คลิกขวาที่โฟลเดอร์ แล้วคลิก คุณสมบัติ เพื่อตรวจสอบสิทธิ์ของคุณสำหรับโฟลเดอร์นี้ ติดต่อเจ้าของโฟลเดอร์หรือผู้ดูแลระบบของคุณเพื่อเปลี่ยนสิทธิ์ของคุณ

Outlook กำลังซิงโครไนซ์การเปลี่ยนแปลงในเครื่องที่ทำกับรายการในโฟลเดอร์นี้ คุณไม่สามารถลบโฟลเดอร์นี้ได้จนกว่าการซิงโครไนซ์กับเซิร์ฟเวอร์จะเสร็จสมบูรณ์

เมื่อต้องการตรวจสอบและคืนค่าความสมบูรณ์ของกล่องจดหมาย Exchange ให้เรียกใช้คำสั่ง PoSh ต่อไปนี้:

New-MailboxRepairRequest -Mailbox accounts@a-d.site -CorruptionType ProvisionedFolder,SearchFolder,AggregateCounts,Folderview

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