背景:
集團(tuán)旗下好幾家公司,最近要把其中一家的郵件系統(tǒng)合并到集團(tuán)系統(tǒng)中,并且外發(fā)郵件統(tǒng)一顯示為集團(tuán)的域名。
合并郵件系統(tǒng),就要涉及到原公司員工郵箱的數(shù)據(jù)導(dǎo)出和集團(tuán)郵箱的數(shù)據(jù)導(dǎo)入。
思路:
- 幾千個郵箱,大概幾個T的數(shù)據(jù),可以通過腳本先導(dǎo)出在職人員的。等系統(tǒng)合并完成后,再導(dǎo)出離職人員的。
- 原郵件系統(tǒng)不斷有新郵件入站,可以將某個時間點之前的郵件先行導(dǎo)出并導(dǎo)入到新系統(tǒng),割接當(dāng)晚在導(dǎo)出特定時間點之后的郵件。
實現(xiàn)過程
-
踩過的坑:
- 創(chuàng)建了一個共享目錄,通過powershell腳本遍歷所有在職人員ou郵箱,執(zhí)行new-mailboxexportrequest ,導(dǎo)出完畢后,因為文件眾多,目錄打開就會卡死。
所以,計劃按照首字母順序來分批次導(dǎo)出。 - 導(dǎo)出過程會大量占用cpu、內(nèi)存、硬盤,導(dǎo)出時,盡量網(wǎng)絡(luò)路徑不是本地服務(wù)器磁盤。
- 創(chuàng)建了一個共享目錄,通過powershell腳本遍歷所有在職人員ou郵箱,執(zhí)行new-mailboxexportrequest ,導(dǎo)出完畢后,因為文件眾多,目錄打開就會卡死。
導(dǎo)出郵件
Add-PSSnapin microsoft.exchange*
$mailboxlists = Get-Mailbox -OrganizationalUnit employees -Filter { name -like 'a*' -or name -like 'b*' -or name -like 'c*' -or name -like 'd*' } -ResultSize unlimited
foreach($i in $mailboxlists) {
$mail = $i.Name
#Write-Output $mail
New-MailboxExportRequest -Name $mail -Mailbox $mail -FilePath \\BJ-server-mbx.123.com\ad\$mail.pst -ContentFilter "(Received -le '03/15/2022') -and (Sent -le '03/15/2022')" -BadItemLimit unlimited
}
- 導(dǎo)入郵件
Add-PSSnapin microsoft.exchange*
$files = (Get-Item -path \\bj-server-mbx.123.com\ad\*).BaseName
foreach($i in $files){
#Write-Output $i
New-MailboxImportRequest -Name $i -Mailbox $i -FilePath \\BJ-server-mbx.123.com\ad\$i.pst -BadItemLimit unlimited
}