Exchange 2010 dan başka bir mail provider yada server a geçiş yapmanız gerekiyorsa veya bir sebepten dolayı tüm mailbox ların export unu almanız gerekiyorsa ne gibi durumlarla karşılaşacağınızı ve nasıl çözümler üretebileceğinizi kısaca özetlemek için bu yazıyı kaleme alıyorum..
Öncelikle bu link teki gerekli izinleri ayarlamanız gerekmektedir. Ardından gelelim Export işlemlerine;
Tüm Mailbox ları export etme işlemi için ufak bir Powershell scripti çalıştırmanız gerekmektedir. Bunu CAS serverda çalıştırıyoruz.
$mailboxes = get-mailbox
foreach ($mailbox in $mailboxes) {
new-mailboxexportrequest -mailbox $mailbox -FilePath \\<SERVERNAME>\PstFiles\$mailbox.pst }
Bu script i export.ps1 gibi bir isim ile kaydederek çalıştırıyoruz. Yaptığı iş kısaca tüm mailboxları export queue ya almaktır. Scriptin çalışması bittikten sonra queue daki exportları görmek için;
Get-MailboxExportRequest
komutunu çalıştırabilirsiniz.
Bunun ardından size gerekli olabilecek bazı komutlar ise;
- new-mailboxexportrequest -mailbox <mailboxname> -FilePath \\<SERVERNAME>\PstFiles\<pstname.pst > –> Tek bir kullanıcı için export alma işlemini queue ya ekler.
- foreach ($i in (Import-Csv c:\<filename>.csv)) { New-MailboxExportRequest -Mailbox $i.Alias -FilePath “\\<Servername>\PstFiles\$($i.Alias).pst” } –>Csv dosyasında ki listede bulunan mailbox ların hepsini queue ya ekler. (Csv dosyasının ilk satırında sütun adını belirtmek için en üst satıra Alias yazmalıdır ve enter ile sıralanmış mailbox isimlerini içermelidir.)
- New-MailboxExportRequest -Mailbox <mailboxname> -FilePath \\<Servername>\PstFiles\<Filename>.pst -ContentFilter {(Received -lt ’12/31/2012′) -and (Received -gt ’12/15/2012′)} –> İlgili mailbox ta 2 tarih arasındaki mailleri export eder.
- Get-MailboxExportRequest | where {$_.status -eq “Completed”} | Remove-MailboxExportRequest –>Bitmiş olan export işlemlerini queue listesinden siler.
- Get-MailboxExportRequest | where {$_.status -eq “Failed”} | Remove-MailboxExportRequest –-> Fail olan export işlemlerini queue listesinden siler.
- Get-MailboxExportRequest | where {$_.status -eq “inprogress”} | Remove-MailboxExportRequest –> Aktif olarak çalışan export işlemini durdurur ve queue listesinden siler.