Exchange Server da Bir mailbox’ın pst kopyasının çıkartılması

Bu makelemde Exchange sunucusunda bir mailbox’ın powershell ile .pst olarak nasıl dışarı çıkartılacağını anlatacağım.

Merhaba Arkadaşlar,

Bugün sizlere exchange database i üzerinde bulunan bir mailbox’ın, powershell kullanılarak dışarı .pst uzantılı bir dosya olarak çıkartılması işlemlerini anlatıyor olacağım.

Öncelikle bu işlemi yapabilmek için gerekli olan gereksinimlerimizi yazalım;

  • Sunucuya login olduğumuz kullanıcının ilgili export yetkilerine sahip olması gerekiyor.
  • Sunucu üzerinde veya başka bir noktada paylaştırılmış bir klasör ve ilgili izinlerinin olması gerekiyor.

İşlem adımlarımız;

  • Login olduğumuz kullanıcının rolünün düzenlenmesi / kontrol edilmesi.
  • Network üzerinde bir paylaşım klasörünün oluşturulması ve yetkilerinin düzenlenmesi
  • Mailbox’ın .pst uzantılı dosyaya export edilmesi

Mailbox Import Export Role tanımlaması

İşlemlerimizin temeli olan New-MailboxExportRequest komutunu kullanmaya yetkimiz yoksa aşağıdaki ifadeye benzer bir hata alırız. Bunun için mevcut kullanıcımızda ilgili yetkilerin önceden tanımlanmış olması gerekir.

New-MailboxExportRequest : The term ‘New-MailboxExportRequest’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Get-ManagementRoleAssignment -role “Mailbox Import Export” -GetEffectiveUsers | ft

komutu ile bu işlemleri yapmaya yetkili kullanıcı hesaplarını görebiliriz.

New-ManagementRoleAssignment -Role “Mailbox Import Export” -User “Administrator” | ft -AutoSize

komutu ile “Administrator” veya başka bir kullanıcıya bu yetki verilebilir.

Get-ManagementRoleAssignment -role “Mailbox Import Export” -GetEffectiveUsers | ft

sonrasında bu komut ile işlem kontrol edilebilir.

Alternatif olarak;

New-RoleGroup -Name “Exchange Mailbox Import Export” -Roles “Mailbox Import Export” -Members “testdomain\administrator” -DisplayName “Exchange Mailbox Import Export” -Description “This group will provide access to m
ailbox import and export cmdlets within entire Exchange Organization.”

komutu ile bir gruba bu yetkiyi verip sonra istediğimiz kullanıcıyı bu gruba üye yaparız.

Tekrar kontrol edelim

Get-ManagementRoleAssignment -role “Mailbox Import Export” -GetEffectiveUsers | ft

Sonuç olarak New-MailboxExportRequest komutunu kullanabilmemiz için gerekli exchange role tanımlamasının nasıl yapıldığını artık biliyoruz.

Paylaşımlı bir network klasörünün oluşturulması

Artık sunucumuz üzerinde paylaştırılmış bir klasörümüz var.

Export Exchange mailbox ın powershell ile export edilmesi

Öncelikle exchange shell ekranı açıyoruz. Bu ekranı sağ tıklayıp administrator olarak aç dememiz gerekebilir.

Get-Mailbox -ResultSize Unlimited

komutunu çalıştırıyoruz. Komutun başarılı olması exchange shell in düzgün çalıştığını gösterir. Ayrıca export pst yapacağımız kullanıcımızın bilgilerini buradan görebileceğimiz gibi

Get-Mailbox -Identity “ahmet test”

komutu ile “ahmet test” isimli kullanıcımızın alias bilgisini görebiliriz. Artık export pst yapmak istediğimiz kullanıcının alias bilgisine sahibiz.

New-MailboxExportRequest -Mailbox “ahmettest” -FilePath “\\exchangeSrv\pst\ahmettest.pst”

komutu ile export işlemini başlatıyoruz.

Export pst işlemlerinin takip edilmesi

Get-MailboxExportRequest

veya

Get-MailboxExportRequest | Get-MailboxExportRequestStatistics

komutları ile mevcut export işlemlerini takip edebilirsiniz.

Birden fazla kullanıcının mailbox ının export pst yapılması

aşağıdaki komutları kendinize göre düzenleyip çoklu export pst işlemi yapabilirsiniz.

$liste=@(“user1″,”user2″,”user3”) #dilediğiniz kadar kullanıcı aliasını buraya virgüllerle ayırarak yazabiliriz.

foreach ($Mailbox in $liste) {New-MailboxExportRequest -Mailbox $Mailbox -FilePath “\\exchangeSrv\PST\$($_.Mailbox)”}

Özet

Sonuç olarak bu makalemizde bir mailboxın pst kopyasını alabilmek için gerekli işlemleri öğrendiğimizi düşünüyorum. Burada önemli olan, mevcut kullanıcımızın bu işlemi yapabilme yetklilerine sahip olduğunu kontrol etmek, network üzerinde paylaştırılmış ve izinler düzenlenmiş bir klasöre sahip olmak ve son olarak export işlemlerini başlatmak. Paylaştırılmış bir klasör olması çok önemli buraya sunucu üzerindeki bir pathi yazmanız kesinlikle hata verir.

Bir makalemizin daha sonuna geldik , esen kalın.

Kürşat ARI / System Engineer & PowerShell  Developer

Yorum bırakın