New-MailboxRepairRequest: Exchange’de bozulmuş posta kutularını düzeltme

Exchange adminleri, genellikle kullanıcıların posta kutularındaki çeşitli hasarlar ve mantıksal hatalarla uğraşmak zorunda kalırlar. Böyle mantıksal hatalar, senkronizasyon hataları, Outlook kilitleniyor , klasör öğelerinin yanlış gösterimi, yanlış öğe sayısı, arama ve genel klasörler hataları şeklinde karşımıza çıkar.

Bu hatalar çoğunlukla, istemci posta kutusu klasör öğelerini işleme sırasında MAPI flaglarını hatalı güncelleştirdiğinde oluşur. Çoğu zaman, aynı anda birçok kullanıcı tarafından kullanılan paylaşılan posta kutularında olur. Kullanıcı, posta kutusundaki veya klasörlerdeki hataların varlığından bile haberdar olmayabilir. Ancak, bazı hatalarda, kullanıcı posta kutusuna veya belirli klasörlere erişirken, e-posta veya klasörleri görüntülerken veya silerken sorun yaşayabilir.

Kullanıcı bu tür sorunlarla karşılaşırsa, Exchange admini bozuk bir posta kutusunu geri yüklemeyi deneyebilir ya da aşağıdaki yollardan birisini kullanabilir.

  • Cache modda çalışan bir .PST dosyasına Importing data from Outlook özelliğini kullanarak  problem yaşayan kullanıcı için posta kutusunu kaldırma ve yeniden oluşturma, son olarak .PST dosyasından yeni posta kutusuna veri alma.
  • Mailbox store’nin tamamen kaldırılması ve uygulama düzeyinde Exchange tabanındaki hasarların düzeltilmesine izin veren Isinteg.exe (Information Store Integrity Checker) programıyla denetlenmesi.
Not→ Bazı durumlarda, tüm kullanıcıların posta kutularını sağlıklı şekilde çalışan veritabanına taşımayı deneyebilirsiniz. Bu durumda, çok sayıda kullanıcıyı devre dışı bırakmadan bütünlüğünü kontrol edebilirsiniz.
  • Exchange veritabanını yedekten geri yükleyebilirsiniz. Belirli bir posta kutusundan PST dosyasına mailleri alıp, yeniden oluşturulan posta kutusuna verileri tekrar aktarabilirsiniz.. Bu yöntemin bir dezavantajı vardır. Son yedekleme süresinden sonra kullanıcının posta kutusuna gelen tüm e-postalar kaybolabilir.

Exchange Server yöneticileri,  Exchange 2010 SP1 sürümüne kadar yukarıda açıklanan tüm yöntemleri kullanmalıdır.

Exchange 2010, 2013 ve 2016’nın tüm desteklenen sürümlerinde bozuk posta kutularını bulmak, onarmak ve izlemek için New-MailboxRepairRequest  cmdlet’i kullanabilirsiniz.

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

Cmdlet, Exchange posta kutularında aşağıdaki bozulma türlerini bulmanızı ve düzeltmenizi sağlar.

SearchFolder – arama klasörlerinde hatalar

AggregateCounts – klasörlerdeki öğelerin sayısını ve boyutlarını kontrol etmek ve düzeltmek

FolderView – klasör görünümleriyle temsil edilen yanlış içerik

ProvisionedFolder – klasör mantıksal yapı hasarı

DetectOnly parametresini kullanarak, herhangi bir eylem gerçekleştirmeden bir posta kutusunu veya posta kutusu veritabanını kontrol edebilirsiniz,

Örneğin

New-MailboxRepairRequest -Mailbox ozgurozocak -DetectOnly -CorruptionType ProvisionedFolder, SearchFolder

Aşağıdaki örnekte, ozgurozocak kullanıcının posta kutusu analizi ve 4 tür hasar için kurtarma işlemi başlayacak.

New-MailboxRepairRequest -Mailbox ozgurozocak -CorruptionType ProvisionedFolder, SearchFolder, AggregateCounts, Folderview

Bu örnekte ise database üzerinde analiz ve kurtarma işlemi başlayacak.

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

Komut arka plan modunda çalışır ve sonuçları PowerShell konsolunda görüntülenmez. Bunu taskID ( RequestID ) veya / veya Windows olay günlüğü yardımıyla (event sourceı: MSExchangeIS Mailbox Store; EventID 10059 – repair request start; EventID 10048 successful completion of the repair request) kullanarak izleyebilirsiniz.

Aşağıdaki EventID’ler de yararlı olabilir (event source: MSExchangeIS Mailbox Store; EventID 10059 – repair request start; EventID 10048 successful completion of the repair request)

10044 – The mailbox repair request failed for provisioned folders

10045 – The database repair request failed for provisioned folders

10046 – The provisioned folders repair request completed successfully

10047 – A mailbox-level repair request started

10048 – The repair request successfully completed

10049 – The mailbox or database repair request failed because Exchange encountered a problem with the database or another task is running against the database

10050 – The mailbox repair request task skipped a mailbox

10051 – The database repair request was cancelled because the database was dismounted.

10059 – A database-level repair request started

10062 – Corruption was detected

10064 – A Public Folder repair request started

Not:  Get-MailboxRepairRequest cmdlet’i posta kutusu onarım görevinin durumunu almanızı sağlar ve  Exchange 2013 ile birlikte kullanılabilir.

New-MailboxRepairRequest cmdlet’inin özelliklerinden biri başlatıldıktan sonra, Exchange Information Store hizmetini durdurup posta kutusu veritabanının bağlantısını kesmeden, posta kutusu onarım işlemi kesintiye uğramaz.

Sunucuda birkaç posta kutusu veritabanı varsa, Exchange sunucusunun performansını korumak için çok sayıda veritabanında aynı anda New-MailboxRepairRequest’i çalıştırmanız önerilmez. (her ne kadar yalnızca bir MailboxRepairRequest işlemi destekleniyorsa da) Veritabanı ve sunucu başına 100 adede kadar onarım isteğinde bulunabilirsiniz.

Uygulamaya yönelik bir cmdlet kullanımı örneği olarak küçük bir örneğe bakalım.

Exchange 2016 kullanıcısı, Outlook klasörlerinden birinde iletileri görüntüleyemiyor. Sorunlu klasör posta kutusu yedeklemesinden geri döndürüldü. Ancak bu klasör, Outlook ya da Outlook Web App yardımı ile silinmedi. Outlook 2016’da bir klasörü silmeye çalıştığınızda, aşağıdaki hatayı görebilirsiniz.

Cannot delete this folder. Right-click the folder, and then click Properties to check your permissions for this folder. See the folder owner or your administrator to change your permissions.

Outlook is synchronizing local changes made to items in this folder. You cannot remove this folder until the synchronization with the server is complete

Exchange posta kutusu bütünlüğünü denetlemek ve geri yüklemek için aşağıdaki PoSh komutu çalıştırıldı.

New-MailboxRepairRequest -Mailbox ozgur@teknolojikadam.com -CorruptionType ProvisionedFolder,SearchFolder,AggregateCounts,Folderview

Kurtarma işleminin başarılı bir şekilde tamamlanmasından sonra (eventid 10048), bozuk klasörün Outlook Web App’den kaybolduğunu görebilirsiniz. Outlook’a gelince, ost dosyasını silmeniz gerekebilir.

KAYNAKEXCHANGE