Exchange 2016/2013/2010'da Posta Kutusunu PST'ye Alma ve Verme Nasıl Yapılır?
Exchange Server 2010 SP1'de (ve daha yeni), özel PowerShell cmdlet'leri göründü: New-MailboxImportRequest ve New-MailboxExportRequest; Posta kutusunu/PST dosyasına değiştirin. Önceki Exchange sürümlerinde, verileri Exchange'den PST dosyasına içe/dışa aktarmak için üçüncü taraf yardımcı programları kullanmanız gerekiyordu (çoğunlukla ExMerge yardımcı programı kullanılıyordu).
Exchange 2016, 2013 ve Office 365'te Exchange geliştirme ekibi, PST dosyalarına içe/dışa aktarma için Exchange cmdlet'leri geliştirmeye devam ederek işlevselliği biraz genişletti ve performanslarını artırdı. Bu makalede, verileri Exchange posta kutularından kişisel klasör dosyalarına (PST) içe/dışa aktarmaya ilişkin tipik örnekleri ele alacağız.
Exchange'de Posta Kutusu İçe ve Dışa Aktarma İzinleri
Bir Exchange posta kutularını PST'ye almak veya vermek istediğiniz yönetici hesabına "Posta Kutusu İçe Aktarma Dışa Aktarma" RBAC rolü atanmalıdır (varsayılan olarak, Exchange yöneticilerinin bile bu izinleri yoktur). Exchange Management Shell'i kullanarak bu rolü hesabınıza atayabilirsiniz:
New-ManagementRoleAssignment -Role “Mailbox Import Export” -User fr_exchange_adminNeresi
fr_exchange_admin- “Posta Kutusu İçe Aktarma Dışa Aktarma ” rol izinlerini alan hesabın adıdır.
İpucu. Yönetimi kolaylaştırmak için "Posta Kutusu İçe Aktarma Dışa Aktarma " rolü genellikle AD güvenlik grubuna atanır. Daha sonra bu hakkın başka bir kullanıcıya verilmesi gerekirse kullanıcı hesabının bu domain grubuna eklenmesi yeterli olacaktır. Bu durumda, komut sözdizimi biraz farklıdır (AD grubunun adının ExchangeAdmGroup olduğunu varsayalım):
New-ManagementRoleAssignment -Role "Mailbox Import Export" -SecurityGroup ExchangeAdmGroupAynısı EAC (Exchange Admin Center) grafik arayüzünden Posta Kutusu İçe Aktarma Dışa Aktarma'yı istenen kullanıcı veya gruba atayarak yapılabilir.
RBAC izinlerini verdikten sonra, EAC veya Management Shell konsolunu yeniden başlatın.
New-MailboxImportRequest: PST Dosyasını Exchange Posta Kutusuna Aktarma
Bir PST dosyasını Exchange posta kutusuna almak için, RBAC izinlerinin yanı sıra aşağıdakilere de ihtiyacınız vardır:
Hedef Exchange posta kutusu bulunmalıdır;
PST dosyası, paylaşılan ağ klasöründe bulunmalıdır ve ona giden tam UNC yolunu bilmeniz gerekir (belirli bir bilgisayardaki yerel dosyaya, \PCName111\C$\PST gibi ağ yolu aracılığıyla erişilebileceğini unutmayın. stmail.pst);
İçe aktarma işlemini gerçekleştiren kullanıcının, PST posta arşiv dosyasının bulunduğu ağ klasöründe NTFS okuma iznine sahip olması gerekir.
Bir PST dosyasının içeriğini paylaşılan bir klasörden kullanıcının usertest posta kutusuna aktarmak için aşağıdaki komutu kullanın.
New-MailboxImportRequest -Mailbox usetest -FilePath \\HQ-FS01\PST\usetest.pstHedef kutuya alırken, mevcut klasörlerin içerikleri birleştirilir ve mevcut posta klasörü yapısına yeni klasörler eklenir.
PST dosyasının içeriği, Exchange posta kutusu köküne değil, posta kutusunun mevcut klasörlerinden birine (örn. "Eski_posta") alınabilir. Örneğin, yalnızca Gelen Kutusu klasörünün içeriğini Old_mail hedef posta kutusu klasörüne aktarmanız gerekir:
New-MailboxImportRequest -Mailbox usetest -FilePath \\HQ-FS01\PST\usetest.pst -TargetRootFolder "Old_mail" -IncludeFolders "#Inbox#"İpucu. Exchange (Outlook) posta kutusundaki standart klasörlerin tam listesi aşağıdadır:
- Inbox
- SentItems
- DeletedItems
- Calendar
- Contacts
- Drafts
- Journal
- Tasks
- Notes
- JunkEmail
- CommunicationHistory
- Voicemail
- Fax
- Conflicts
- SyncIssues
- LocalFailures
- ServerFailures
import komutunu çalıştırdıktan sonra, import isteği Exchange sunucusu tarafından işlenmek üzere kuyruğa alınır (işlem, İstemci Erişim Sunucusu rolüne sahip sunucuda gerçekleştirilir). İçe aktarma isteği sırasını görmek için şu komutu çalıştırın:
Get-MailboxImportRequestBelirli bir posta kutusu için içe aktarma isteği görev durumu (Devam Ediyor, Tamamlandı, Kuyrukta) aşağıdaki gibi elde edilebilir:
Get-MailboxImportRequest mailtstİçe aktarma isteği durumu hakkında (yüzde cinsinden) bilgi almak için aşağıdaki komutu çalıştırın:
Get-MailboxImportRequest | Get-MailboxImportRequestStatisticsTamamlanan içe aktarma istekleri, şu komutla sıradan kaldırılabilir:
Get-MailboxImportRequest -Status Completed | Remove-MailboxImportRequestE-posta öğelerini PST dosyalarından birden çok kullanıcı posta kutusuna toplu olarak içe aktarmak için bu komutu kullanabilirsiniz (pst dosyalarının adlarının kullanıcı posta kutularının adlarına karşılık geldiği varsayılır):
Foreach ($i in (Get-Mailbox)) { New-MailboxImportRequest -Mailbox $i -FilePath "\\HQ-FS01\PST\$($i.Alias).pst" }
İçe aktarma işlemi başarısız olursa, aşağıdaki gibi oluşturulan rapordan nedenleri hakkında ayrıntılı bilgi alabilirsiniz:
Get-MailboxImportRequest -Status Failed | Get-MailboxImportRequestStatistics -IncludeReport | Format-List > AllImportReports.txtÇoğu durumda, içe aktarma hataları aşağıdakilerden dolayı oluşur:
PST dosya yapısının mantıksal olarak zarar görmesi (Outlook PST dosyalarını scanpst.exe'yi kullanarak onarabilirsiniz);
Kullanıcı posta kutusu boyutu belirtilen sınırı aşarsa.
PST dosyasında, içe aktarma sırasında atlanabilecek bozuk öğelerin sayısını belirleyebilirsiniz. Aşağıdaki komut, verileri PST dosyasından Exchange posta kutusuna aktaracak ve bir içe aktarma hatası oluşturmadan önce başarısız olan ilk on öğeyi atlayacaktır:
New-MailboxImportRequest -Mailbox mailtst -FilePath \\HQ-FS01\PST\usetest.pst -BadItemLimit 10New-MailboxExportRequest: Exchange Posta Kutusu Öğelerini PST Dosyasına Aktarma
Exchange posta kutusunun içeriğinin dışa aktarımı içe aktarmaya benzer. Posta kutusunun içeriğini bir PST dosyasına vermek için New-MailboxExportRequest cmdlet'ini kullanın. Mailtst kullanıcısının posta kutusunu paylaşılan ağ klasörüne aktarmak için (bu dizin önceden oluşturulmalıdır ve Exchange Güvenilir Alt Sistem etki alanı grubu için bu klasörde okuma ve yazma izinleri vermelisiniz), aşağıdaki komutu çalıştırın :
New-MailboxExportRequest -Mailbox mailtst -FilePath \\HQ-FS01\ExportPST\mailtst.pstBir PST dosyasına yalnızca belirli bir klasördeki, örneğin Gelen Kutusu'ndaki e-posta öğelerini dışa aktarmanız gerekiyorsa, komut şöyle görünür:
New-MailboxExportRequest -Mailbox mailtst -FilePath \\HQ-FS01\ExportPST\mailtst.pst -IncludeFolders “#Inbox#”Bir klasörü dışa aktarmanın dışında bırakmak için ExcludeFolders parametresini kullanın. Örneğin, silinen öğeleri bir PST dosyasına aktarmanız gerekmez:
New-MailboxExportRequest -Mailbox mailtst -FilePath \\HQ-FS01\ExportPST\mailtst.pst -ExcludeFolders “#DeletedItems#”Daha karmaşık bir görevi ele alalım: 1 Ocak 2019'dan sonra alınan ve "Proje" ve "Londra" anahtar kelimelerini içeren tüm e-postaları dışa aktarmanız gerektiğini varsayalım.
New-MailboxExportRequest -Mailbox mailtst -FilePath \\HQFS01\ExportPST\mailtst.pst -ContentFilter {(body -like “*Project*”) -and {body -like “*London*”) -and (Received -lt “01/01/2019”)}Ayrıca, Search-Mailbox cmdlet'i kullanılarak elde edilen arama posta kutusu arama sonuçlarıyla yalnızca belirli bir klasördeki öğeleri dışa aktarabilirsiniz.
Dışa aktarma görevi isteği de Exchange sunucusunda sıraya alınır. Dışa aktarma görev durumunu görmek için şu komutu çalıştırın:
Get-MailboxExportRequest -Mailbox "mailtst" | Format-ListRunspaceId : 3233f0d3-1b4b-4610-b0a2-6f29a543cc54
FilePath : \\HQFS01\ExportPST\mailtst.pst
SourceDatabase : db1
Mailbox :
Name : MailboxExport
RequestGuid : e03de01f-3333-111a-95fa-23faaf97ebf9
RequestQueue : db1
Flags : IntraOrg, Push
BatchName :
Status : Completed
Protect : False
Suspend : False
Direction : Push
RequestStyle : IntraOrg
OrganizationId :
Identity : mailtst\MailboxExport
IsValid : True
ObjectState : NewPosta kutularının PST dosyalarına aktarılması için tamamlanmış istekleri düzenli olarak temizlemeyi unutmayın:
Get-MailboxExportRequest -Status Completed | Remove-MailboxExportRequestKullanıcı posta kutusunu bir PST dosyasına dışa aktarırken, Exchange sunucusundaki kullanıcı posta kutusu içerikleri temizlenmez.
Birden çok kullanıcı posta kutusunu toplu olarak dışa aktarabilirsiniz. Aşağıdaki biçimde bir csv metin dosyası oluşturun:
Username, UNCPathtoPst
t.holland,\\HQFS01\ExportPST\holland.pst
d.orr,\\HQFS01\ExportPST\orr.pstKullanıcı posta kutularını bir PST dosyasına aktarmayı çalıştırın:
Import-CSV "C:\ps\user_list_export_pst.csv" | ForEach {New-MailboxExportRequest -Mailbox $_.username -FilePath $_.UNCPathtoPst




