Exchange Server 2010 Single Item Recovery
Bu yazımızda Exchange 2010 ile beraber gelen “Item Recover” yani “öğe kurtartma” ( bu bir e-mail, task, calendar, meeting, notes, document, journal, contacts ya da conversion history olabilir ) konusunu inceleyeceğiz. Bura da asıl yapılmak istenen şey; kötü niyetle ya da kazara silinmiş bir öğeyi “dumpster” alanından kurtarmaktır. Bu özellik “Singe Item Recovery” olarak belirtilmiştir ve bu özelliğin Exchange organizasyonda tüm mailboxlar için açılmasına gerekmektedir. Belirtmekte fayda var; bu özellik; bilinen herhangi bir backup uygulaması ile ilgili değildir. Backup gereksinimi yoktur.
Yanlışlıkla ya da kötü niyetle silinen bir öğeyi kurtarmak için bu işlevsellikten nasıl yararlanacağız, ne yapmamız gerekiyor gibi konuları tartışacağız.
Bu durumla ilgili iki konuyu esas alacağız:
Arama – silinen / kaybolan öğelerin yerinin belirlenmesi
Kurtarma – silinen / kaybolan
Burada önemli bir hatırlatma yapmak durumundayım. Bu özellik backup gibi algılanmamalıdır. Burada ihtiyacımız tek bir öğeyi kurtarmak olmalıdır. Burada tek bir öğeden kastım tabi ki birden fazla öğe olabilir ancak bir folder ve içinde ki mesajları folder ile beraber ayırıp kurtaramayız.
Burada baz alacağımız kriterler aşağıda ki gibidir:
Keywords: Kelime (multi) bazında arama yapılabilir.
Message types: Yukarıda belirttiğim mesaj tipleri seçilebilir.
Message to or from specific e-mail addresses: Bildiğimiz bir mail adresinden gelen ya da bildiğimiz mail adreslerine gönderdiğimiz öğeler için seçilebilir.
Date Range: Zaman aralığı verilebilir.
Mailboxes to Search: Tüm ya da 1 mailbox içerisinde arama sorgulaması yapılabilir.
Bunun örneklerine birazdan değineceğiz.
Uyarılar
Single Item Recovery sadece Exchange Control Panel ve Powershell kullanılarak yapılır. Exchange Management Console ile bu özellik kullanılamaz.
Unutulmamalıdır ki, verileri bulmak ve kurtarmak için “Singe Item Recovery” özelliği enable edilmeli ve yanlışlıkla silinen “Tek Öğeler” için kullanılmalıdır.
Single Item Recovery aşağıda vereceğimiz powershell komutu ile enabled konumuna getirilmeli
Enterprise CAL License var ise Single Item Recovery ek özellikler ve kolaylıklar kullanılabilir. Aşağıda bununla ilgili işleyişi gösteren bir diagram mevcut.
Nasıl Çalışır :
İşleyişi aşağıda ki maddelerle özetlemek mümkündür;
Mailbox’da kaybolan veri için arama başlatılır
Eğer Enterprise CAL var ise multi-search mailbox arama işleme dahil olur. Bu şu demektir; kaybolan maili istediğimiz mailbox içerisinde tek seferde aramaya dahil edebiliriz. Eğer Enterprise CAL lisansımız yoksa tek 1 mailbox içerisinde arama yapabileceğiz. Biz Enterprise CAL lisansımız varmış gibi davranacağız, ancak bunun yanında Standart CAL ile ne yapılabileceğinden bahsedeceğim.
Kaybolan veri arandı, bulundu ve Discovery Search Mailbox içerisine kopyalandı.
Bulunan veri kullanıcı mailbox’ına kopyalanacak / taşınacak. Bunun için eğer Enterprise CAL lisansımız var ise new-mailboxexportrequest komutunu kullanarak .pst formatında dışarı çıkarabiliriz. Sonrasında new-mailboximportrequest komutunu kullanarak kullanıcıya mailbox’ına import edebiliriz.
Teorik bilgileri tamamladığımıza göre artık uygulama kısmına gelebiliriz.
Senaryo
Çok basit bir senaryo düşünecek olursak;
Bir yöneticimiz katılması gereken toplantıya şehir dışında olduğu için katılamıyor, yerine asistanının toplantıya girmesini istedi. Toplantı yapıldı ve asistan arkadaşımız toplantı notlarını alıp mail ile yöneticisine gönderdi.
Yönetici bu maili gördü ancak daha sonra shift + delete ile tuşuna basarak yanlışlıkla sildi. Hemen servis masasını arayarak yanlışlıkla önemli bir mailini kaybettiğini ve kurtarılmasını istedi. Servis Masası ilk çözüm olarak Outlook 2010 da bulunan “ Recover Deleted Items” bölümünden maili kurtarabileceğini söyledi ancak yöneticimiz ,soft delete değil shift+delete tuşuna basarak hard delete yapmış oldu. Bu durumda “Recover Deleted Items” bölümünde bu mesajı göremeyeceğinden sorunun düzelmediğini bildiriyor. Servis Masası sorunu 1 üst seviye olan Exchange uzmanına aktarıyor.
Bu durumda devreye bizler giriyoruz. Ya da daha önce bu tür işleri Servis Masasına RBAC ile devretmemişsek kendileri de bunu yapabiliyor durumdalar.
Birazdan yapacağımız işlemler için kullanıcı hesabının “Discovery Management” rolüne sahip olması gerekiyor. Bir powershell komutu ile bu yetkiyi kullanıcıya atayabiliriz.
Add-RoleGroupMember “Discovery Management” –Member “user account”
Senaryoyu şekillendirecek olursak;
Yukarıda ki resimde “ Toplantı notlarını gönderiyorum “ başlıklı bir mail var. Bu maili “cozumpark” kullanıcısı “bugra” kullanıcısına gönderiyor.
Bugra, bu maili yanlışlıkla (!) shift+delete ile çöp kutusuna göndermeden siliyor.
Sonra Servis Masasını arayıp kaybolan mailinin geri getirilmesini istedi. Servis Masası bu talebi Exchange Uzmanına aktarıyor. Discovery Management rolüne sahip Uzman arkadaşımız da “ Exchange Control Panel “ den arama / bulma / kurtmarma işlemlerini yapmaya başlıyor.
Ancak recovery işlemine başlamadan önce yukarıda da belirttiğim üzere SingleItemRecovery özelliğinin tüm mailbox’larda açık (true) olması gerekmektedir.
* SingleItemRecovery’nin açılmasından sonra database üzerinde belirttiğimiz gün / boyut kadar ekstra alan harcayağı bilgisi unutulmamalıdır ve en başında mailbox database diski planlamasında bu özellikler göz önünde bulundurulmalıdır.
Ben daha önce enable yaptığım için birşey değişmedi mesajı ile karşılaşmam normal.
Yukarıda ki komut çıktısında True olduğunu doğruluyoruz. Tüm mailbox’lar için SingleItemRecovery özelliğini aktif yapacak isek aşağıda ki komutu çalıştırmamız yeterlidir
Get-mailbox |set-mailbox –SingleItemRecoveryEnabled:$true
Recoverable Items kotasına baktığımızda 30 ve 20 GB limit olduğunu görüyoruz. Bunu EMC üzerinden kullanıcıya özel ya da database seviyesinde de bu limitleri belirtebiliriz.
OWA veya ECP’den yukarıda ki ekrana ulaşıyor oluruz. Manage Myself kısmından “My Organization” kısmını seçerek organizasyonumuzu yönetmek istediğimizi belirtiyoruz.
Sol menüden “ Mail Control “ kısmına gelip “ Discovery “ seçiyoruz.
PS: Eğer, RBAC ile discovery search rolü vermeseydik, Discovery kısmını göremeyecektik.
Enterprise CAL lisansına sahip olduğumuz için Multi-Mailbox Search kısmı karşılıyor bizi. Eğer Standart CAL lisansımız varsa bu işlemleri ECP den değil, Powershell komutları ile yapabiliyor olacağız.
Buradan New butonuna basarak ilerliyoruz.
İlk ekranda Keywork kısmı var. Bu özellik bize bir veya birden fazla kelime bazında search edebilmemize olanak sağlıyor.
“Select message types…” kısmına tıkladığımızda aranacak mesajın tipini seçebiliriz. Üstte ki ekranda seçebileceğimiz mesaj tipleri gözükmektedir.
Bu kısımda belirli bir alıcıdan gelen mesajlar ya da belirli kişilere gönderdiğimiz mesajlar arasında arama yapabiliriz.
Örneğin ben burada [email protected] adresinden gelen mesajları ara diye bir kriter verdim. Hatırlarsanız kaybolan mail [email protected] adresinden gelmişti.
Arayacağımız tarih aralığını buradan seçebiliriz. Bu ekran tam olarak şu demek;
Eğer ilgili mesajlar birkaç gün önce silindi ise bu durumda bizim tarihi, ortalama 1 hafta öncesinden başlayacak şekilde belirtmemiz daha doğru olacaktır.
Bu ekranda ( Select mailboxes to search ) sizin de tahmin edeceğiniz üzere yukarıda verdiğimiz kriterleri hangi mailbox’da araması gerektiğini belirtiyoruz. Birden fazla seçebiliriz.
Son bölümde bir arama ismi belirtiyoruz ve sonuçları ne yapacağımıza karar veriyoruz. Burada 2 seçenek var.
# Enable deduplication: deduplication yöntemini kullanarak veriyi sıkıştırmak istiyorsak bu seçeneği işaretlemeliyiz. Birkaç mail için bu seçeneği seçmemiz gerekmez.
# Enable full logging : log tutmak istemiyorsak bu seçeneği işaretlememiz gerekmez.
En alt kısımdan Browse butonuna bastığımızda sadece Discovery Search Mailbox’ı göreceğiz. Bunu seçip “Save” butonuna basarak arama işlemini başlatıyoruz.
Yukarıda ki ekranda search işleminin başladığı sağ tarafta ise detayların yer aldığı bölümü bulabiliriz. Bu işlem, seçtiğiniz mailbox sayısı, tarih aralığı gibi kriterlere göre süre anlamında değişiklik gösterebilir.
Arama sona eriyor sağ tarafta kaç tane Item bulunduğu bilgisi var. Open butonuna basarak “discovery search mailbox” ı açıyoruz.
OWA ekranında Discovery Search Mailbox’ı açıldı ve kurtarılan mail klasör halinde duruyor.
Şimdi bu maili kullanıcının inbox’ına atacağız. Bunun için birkaç yoldan gidebiliriz, ancak ben 2 yöntemden bahsedeceğim.
Powershell’den search-mailbox komutunu koşturarak
Search-Mailbox “Discovery Search Mailbox” –SearchQuery “from:’cozumpark@bugra.local’” –TargetMailbox Bugra –TargetFolder “Recovered_Mails” –LogLevel Full –DeleteContent
Powershell kullanarak mailleri PST dosyasına export edip kullanıcıya import etmek
New-MailboxExportRequest –Mailbox “Discovery Search Mailbox” –FilePath “\\exchsvr\HelpDeskPst\SecretaryRecovery.pst” –ContentFilter {Subject –eq “toplanti notlarini paylasiyorum“} –SourceRootFolder “Inbox“
Yukarıda ki komut ile Discovery Search Mailbox’ına recover ettiğimiz mesajı subject bilgisine göre aratıp export edebiliriz. Eğer 1 den fazla e-mail recover ettiysek haliyle yukarıda ki komut işimizi zorlaştıracaktır. Bu nedenle aşağıda ki komutu hazırladım.
New-MailboxExportRequest –Mailbox “discovery search mailbox” –IncludeFolders “#Recoverable Items/Purges#” –TargetRootFolder “Recovered_SentItems” –filepath \\sunucu_ismi\pst\recovered.pst
Yukarıda ki komutla “ Recoverable Items\Purges “ isimli klasörü Discovery Search Mailbox içerisinden export ettim.
New-MailboxImportRequest –Mailbox sec –FilePath “\\sunucu_ismi\pst\recovered.pst” –TargetRootFolder “Recovered“
Son işlem olarak yukarıda ki komut ile de export ettiğimiz .pst dosyasını kullanıcıya import ettik.
Sonuç:
Kullanıcının daha önce tanımladığımız dumpster alanından single item recovery işlemi yaparak herhangi bir tool kullanmadan silinen maili kurtardık.