Memulihkan kotak surat dan folder yang rusak di Exchange 2016, 2013, 2010

Artikel ini berfokus pada masalah yang cukup umum yang akan dihadapi oleh semua administrator Exchange cepat atau lambat. - kerusakan (kesalahan logis) di kotak surat pengguna. Kesalahan logis serupa dimanifestasikan dalam masalah seperti sinkronisasi dan pembekuan kesalahan di Outlook, presentasi item yang salah dalam folder, jumlah yang salah, kegagalan dalam pencarian, kesalahan dalam folder bersama, dll..

Kesalahan ini terutama terjadi karena kegagalan di sisi klien Outlook, jika klien salah memperbarui bendera MAPI saat memproses item folder surat (ini terjadi terutama dengan kotak surat "bersama" yang digunakan oleh beberapa pengguna pada saat yang sama). Dalam kebanyakan kasus, pengguna mungkin tidak curiga bahwa ada kesalahan di kotak surat atau foldernya, karena Dari luar, semuanya bekerja dengan baik. Tetapi dengan beberapa kesalahan, pengguna mungkin mengalami masalah dalam mengakses kotak surat atau folder individual, melihat atau menghapus huruf atau folder yang disimpan dalam kotak surat, dll..

Jika pengguna menghadapi masalah seperti itu, administrator server Exchange harus menggunakan salah satu dari tiga cara untuk memulihkan kotak surat yang rusak:

  • Impor data dari Outlook, diluncurkan dalam mode cache ke file PST, menghapus dan menciptakan kembali kotak pesan pengguna "masalah" di server, dan akhirnya mengimpor data dari file PST ke kotak surat Exchange baru. Teknik ini melibatkan sejumlah manipulasi manual pada komputer pengguna.
  • Penonaktifan total (unmount) dari toko surat dan Pemeriksaan utilitas Isinteg.exe (Information Store Integrity Checker), yang memungkinkan Anda untuk memperbaiki kerusakan di database Exchange di tingkat aplikasi. Metode ini memerlukan penghentian layanan email yang agak lama untuk semua pengguna yang kotak suratnya berada di basis data terputus.

    Catatan. Dalam beberapa kasus, Anda dapat mencoba memindahkan semua kotak surat pengguna ke basis data email "sehat". Dalam hal ini, dimungkinkan untuk memeriksa integritas penyimpanan tanpa memutuskan sejumlah besar pengguna. Namun, teknik ini, karena berbagai alasan, tidak selalu dapat diterapkan..

  • Kembalikan database email Exchange dari cadangan, impor data dari kotak tertentu ke file PST dan selanjutnya transfer data ke kotak yang dibuat kembali. Teknik ini memiliki kelemahan - semua huruf yang jatuh ke dalam kotak pengguna setelah cadangan terakhir akan hilang.

Administrator server Exchange harus menggunakan metode yang dijelaskan di atas hingga rilis Exchange 2010 SP1, di mana fungsionalitas yang lebih nyaman untuk memulihkan struktur logis kotak surat yang rusak muncul - Powershell Baru-MailboxRepairRequest. Cmdlet ini memungkinkan Anda untuk menemukan dan memperbaiki kesalahan logis dan kerusakan di database Exchange di tingkat aplikasi, dan pencarian kesalahan dan koreksi dapat dilakukan baik untuk kotak pesan tertentu dan untuk semua kotak pesan di basis data (secara berurutan). Yaitu tidak perlu menerjemahkan database surat secara luring, dan pada saat tertentu, hanya satu kotak surat tidak akan tersedia, yang mana integritasnya sedang diperiksa dan dipulihkan. Sebelum melakukan salah satu metode radikal yang dijelaskan di atas untuk mengembalikan integritas kotak, ada baiknya mencoba perintah ini.

Cmdlet ini dapat digunakan untuk menemukan, memulihkan, dan memantau kotak surat yang rusak di semua versi Exchange yang didukung: 2010, 2013, dan 2016..

Sintaks perintahnya adalah sebagai berikut:

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

Cmdlet memungkinkan Anda menemukan dan memperbaiki jenis kerusakan berikut di kotak surat Exchange:

  • Cari folder - kesalahan dalam folder pencarian
  • Hitung Agregat - memeriksa dan mengoreksi informasi tentang jumlah item dalam folder dan ukurannya
  • Tampilan folder - Konten tidak valid ditampilkan oleh tampilan folder
  • Folder yang disediakan - pelanggaran struktur logis folder

Menggunakan parameter DetectOnly, Anda dapat memeriksa kotak surat atau basis data surat tanpa melakukan tindakan apa pun, misalnya:

New-MailboxRepairRequest -Mailbox winitpro -DetectOnly -CorruptionType yang disediakanFolder, SearchFolder

Contoh berikut akan memulai proses menganalisis dan memulihkan kotak pengguna winitpro untuk semua 4 jenis kerusakan:

New-MailboxRepairRequest -Mailbox winitpro -CorruptionType yang disediakanFolder, SearchFolder, AggregateCounts, Folderview

Jadi Anda dapat memulai pencarian kesalahan dan pemulihannya untuk semua kotak surat dari database:

New-MailboxRepairRequest -Database “MailBaseMsk1” -CorruptionType yang disediakanFolder, SearchFolder, AggregateCounts, Folderview

Perintah dijalankan di latar belakang dan tidak menampilkan hasil apa pun ke konsol PowerShell. Anda dapat melacak startup dan pemulihannya menggunakan ID tugas RequestID dan log peristiwa Windows (sumber acara MSExchangeIS Mailbox store: EventID event 10059 - mulai memindai, EventID 10048 berhasil menyelesaikan operasi).

EventID berikut ini mungkin berguna (untuk kenyamanan melacak prosedur pemulihan untuk kotak surat Exchange, mereka dapat dikumpulkan dalam tampilan terpisah dari log MSExchangeIS Mailbox Store log)

  • 10044 - Kotak Surat mengembalikan kesalahan eksekusi permintaan
  • 10045 - kesalahan menjalankan permintaan pemulihan database
  • 10046 - Memulihkan struktur logis dari kotak selesai dengan sukses
  • 10047 - Meluncurkan Permintaan Pemulihan Level Kotak Pesan
  • 10048 - permintaan pemulihan selesai dengan sukses
  • 10049 - kesalahan melakukan pemulihan, permintaan lain yang berjalan ditemukan di database yang sama
  • 10050 - permintaan pemulihan dilewati untuk kotak
  • 10051 - permintaan pemulihan dibatalkan karena fakta bahwa basis data tidak terpasang
  • 10059 - Memulai Pemulihan Tingkat Basis Data Exchange
  • 10062 - kerusakan terdeteksi
  • 10064 - Mulai Kembalikan Folder Publik

Kiat. Cmdlet Get-MailboxRepairRequest khusus telah muncul di Exchange 2013, yang memungkinkan Anda untuk mengetahui status operasi pemulihan kotak pesan.Catatan. Salah satu fitur dari cmdlet New-MailboxRepairRequest adalah bahwa setelah diluncurkan, prosedur perbaikan kotak surat tidak dapat terganggu tanpa menghentikan layanan Exchange Information Store dan meng-unmount database email.

Jika server memiliki beberapa basis data surat, untuk menjaga kinerja server Exchange, tidak disarankan untuk menjalankan New-MailboxRepairRequest secara bersamaan untuk sejumlah besar basis data (walaupun faktanya hanya satu proses MailboxRepairRequest yang didukung untuk satu database, dalam satu server dapat bekerja hingga 100 permintaan secara bersamaan).

Sebagai contoh praktis menggunakan cmdlet, pertimbangkan case kecil.

Pengguna Exchange tidak dapat melihat email di salah satu folder Outlook. Folder yang ditentukan dipulihkan dari cadangan kotak. Namun, folder itu sendiri, baik dari Outlook, maupun dari Outlook Web App, atau bahkan penghapusan yang keras dan lunak menggunakan MFCMAPI, dapat dihapus. Kesalahan klien Outlook, mengatakan sedikit tentang:

Tidak dapat menghapus folder ini. Klik kanan folder, dan kemudian klik Properti untuk memeriksa izin Anda untuk folder ini. Lihat pemilik folder atau administrator Anda untuk mengubah izin Anda. Outlook sedang menyinkronkan perubahan lokal yang dibuat ke item di folder ini. Anda tidak dapat menghapus folder ini sampai sinkronisasi dengan server selesai

Untuk memeriksa dan mengembalikan integritas kotak, perintah dijalankan:

New-MailboxRepairRequest -Mailbox [email protected] -CorruptionType ProvisionedFolder, SearchFolder, AggregateCounts, Folderview

Setelah berhasil menyelesaikan operasi pemulihan (peristiwa 10048 di log), folder yang rusak di Outlook Web App menghilang segera, di Outlook, untuk tampilan yang benar dari kotak "diperbarui", perlu untuk menghapus cache lokal (file ost).