Sunucular arası göç senaryolarında genelde onlarca mailbox aynı zamanda diğer sunucu üzerine taşınarak import edilir. Gercek hayat senaryolarında bu çok sancılı bir iştir. Bu makale eski sunucu üzerinden alınan PST formatındaki mailbox yedeklerini yeni sunucuya nasıl aktaracağınızın bilgisini içermektedir.
Gerekli Haklar
Exchange Server üzerinden Import ve Export komutlarını kullanabilmek için önceliklle Mailbox Import Export Role‘e sahip olmamız gerekir. Aşağıdaki komut ile yönetici kullanıcısına bu rolü eklemektedir.
New-ManagementRoleAssignment –Role "Mailbox Import Export" –User Administrator
Limitleri Arttıralım
Pst dosyalarının Export edildiği sunucunun limitleri ile hedef sunucunun limitlerinin aynı veya daha fazla olması önemli. Eğer aksi olursa Import edilen mailbox verilerinin Item büyüklükleri akrarımı başarısız hale getirebilir. Aşağıdaki komutları çalıştırarak Import sırasında işlemin limitlere takılma olasılığını azaltabilirsiniz.
Set-TransportConfig -MaxSendSize 200MB -MaxReceiveSize 200MB Get-ReceiveConnector | Set-ReceiveConnector -MaxMessageSize 200MB Get-SendConnector | Set-SendConnector -MaxMessageSize 200MB
Tek Dosyayı Import Edin
Bu yetkilendirmeden sonra istediğiniz bir mailbox verilerini önceden oluşturmuş olmak şartı ile yeni sisteme aktarabilirsiniz.
New-MailboxImportRequest -Mailbox info@domain.com -FilePath "\\localhost\c$\Backups\info@domain.com.pst" -AcceptLargeDataLoss -LargeItemLimit unlimited -BadItemLimit unlimited -Confirm:$false
Bir Klasörü Import Edin
Gelelim esas konumuz olan bir klasördeki *.pst uzantılı mailbox verilerinin akratımına. Aşağıdaki script belirtilen klasördeki pst uzantılı dosyaları okur ve optimum şekilde Exchange Server üzerinde aktarım işletini başlatır.
Aşağıdaki InternalFlags parametresi mailbox verisini aktarırken gerekli olmayan bir çok iş akışından kaçmanızı sağlayarak daha barışı ve hızlı sonuçlar almanısı sağlar.
-InternalFlags "SkipPreFinalSyncDataProcessing","SkipWordBreak","SkipStorageProviderForSource","SkipMailboxReleaseCheck","SkipProvisioningCheck","DoNotConvertSourceToMeu"
TooManyLargeItemsPermanentException:
Import ederken fail’in nedeni TooManyLargeItemsPermanentException hatası ise New-MailboxImportRequest komutuna aşağıdaki parametreyi ekleyebilirsiniz. Bu hata Public Folder limitlerine takıldığından kaynaklanıyor genelde.
-AcceptLargeDataLoss -LargeItemLimit unlimited -BadItemLimit unlimited
İstekleri Temizleyin
Import Request’leri Exchange Server’da Get-MailBoxImportRequest komutu ile izleyebilirsiniz. Import işlemi tamamlandığında bu işlemi kuyruktan temizlememiz gerekir. Aşağıdaki komut ile verdiğiniz Import Request’lerin “Completed” olanlarını temizleyebilirsiniz.
Get-MailboxImportRequest | Where { $_.Status –eq 'Completed' } | Remove-MailboxImportRequest –Confirm:$False
Yukarıdaki script bazı durumlarda hata verebiliyor (henüz neden olduğunu anlamadık). O nedenle aşağıdaki alternatif yöntemi deneyebilirsiniz.
. 'C:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1' Connect-ExchangeServer -Auto $requestList = Get-MailboxImportRequest foreach ($request in $requestList) { Remove-MailboxImportRequest -Identity $request.RequestGuid -Confirm:$false }
Hataları Yakalayın
Gerçek hayatta mailbox’ları import ederken onlarca farklı hata ile karşılaşırsınız, genelde hataları Get-MailboxImportRequest komutundan dönen listenin Status bölümünden farkedersiniz. Failed isteklerinin neden Failed olduğunu Get-MailboxExportRequestStatistics komutu ile öğrenebilirsiniz.
Get-MailboxImportRequest -Status Failed | Get-MailboxImportRequestStatistics -IncludeReport | Format-Lis t > C:\Backups\HataRaporlari.txt
İnce Ayar
Mailbox Import komutunda bulamayacağınız farklı ayarlar için aşağıdaki konfigurasyon dosyasına başvurabilirsiniz.
C:\Program Files\Microsoft\Exchange Server\V15\Bin\MsExchangeMailboxReplication.exe.config