0
点赞
收藏
分享

微信扫一扫

Exchange邮件导出和导入

背景:

集团旗下好几家公司,最近要把其中一家的邮件系统合并到集团系统中,并且外发邮件统一显示为集团的域名。
合并邮件系统,就要涉及到原公司员工邮箱的数据导出和集团邮箱的数据导入。

思路:

  • 几千个邮箱,大概几个T的数据,可以通过脚本先导出在职人员的。等系统合并完成后,再导出离职人员的。
  • 原邮件系统不断有新邮件入站,可以将某个时间点之前的邮件先行导出并导入到新系统,割接当晚在导出特定时间点之后的邮件。

实现过程

  • 踩过的坑:

    • 创建了一个共享目录,通过powershell脚本遍历所有在职人员ou邮箱,执行new-mailboxexportrequest ,导出完毕后,因为文件众多,目录打开就会卡死。
      所以,计划按照首字母顺序来分批次导出。
    • 导出过程会大量占用cpu、内存、硬盘,导出时,尽量网络路径不是本地服务器磁盘。
  • 导出邮件
    
    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
}


- 导入邮件

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
}

举报

相关推荐

0 条评论