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

Yazar