使用 Microsoft Exchange 2007 或以上版本的电子邮件系统,邮箱用户体量较大,采用微软的 Exchange DAG 模式作为电子邮件系统的基础平台,使用微软的AD系统作为电子邮件系统的认证平台。邮件系统架构分有 CAS&HUB 和 MAILBOX 角色及商业的邮件网关,电子邮件的用户数会有所增加,随着用户使用时间以及用户量的增加,系统扩展、硬件维护成本高,特别是商业存储成本居高不下。 为实现Exchange用户邮件数据平滑迁移至阿里邮箱,阿里邮箱团队提供了Exchange用户的无干预搬家方式,解决大体量用户的数据迁移难以协调的问题,只需要Exchange管理员配合,即可完成Exchange邮箱用户数据迁移。
准备工作
为保证邮件数据能够顺利搬至阿里邮箱,源邮箱地址前缀和目标邮箱地址前缀必须保持一致。如果搬家到目标地址的前缀和源地址前缀不一致,可以通过在源邮箱上绑定别名的方式解决。本次搬家项目,仅搬取邮件数据,日历、联系人、规则等项无法进行搬取。邮件系统版本要求:Exchange 2007 version or later 。项目正式实施之前请务必阅读和理解本文内容。
Exchange EWS 服务确认
一、Exchange 无干预搬家是通过 Exchange EWS 服务来实现后台邮件数据迁移,所以首先需要确认 EWS 服务是否正常。
二、为实现Exchange 邮件数据用户无干预搬家,Exchange管理员需要进行如下检查、设置:检查证书,浏览器访问:https://mail.domain.com/EWS/Exchange.asmx(mail.domain.com 为贵司webmail 站点地址),查看自签证书是否在有效期内,并确认证书与您的域名称保持一致。点“继续”按钮后,出现账户登入界面,输入任意 Exchange 邮箱和密码点“登入”。
如果证书过期,请参考以下方法:更新自签证书。
Exchange环境预设
为实现Exchange 邮件数据用户无干预搬家,Exchange管理员需要进行如下设置:
以下操作的命令,都是一行写完;全英文半角输入;中间有空格的只空一格;避免错误,建议事先将命令复制到txt文本里 。
⼀、创建superman邮箱,并授权superman访问所有员⼯的邮箱权限。 以管理员身份运行Exchange PowerShell。
新建superman邮箱
1.1 设置密码
$password = Read-Host "Enter password" -AsSecureString
1.2 新建邮箱
此处MDB1是指代数据库,请填写实际存在的数据库名;domain为本系统真实的域;
New-Mailbox -UserPrincipalName superman@domain -Alias superman -Database "MDB1" -Name superman -OrganizationalUnit Users -Password $password -FirstName super -LastName man -DisplayName "super man" -ResetPasswordOnNextLogon $false
为superman分配管理员角色(如果已经创建过了,Name命名需要更换下。):
New-ManagementRoleAssignment –Name:impersonationAssignmentName –Role:ApplicationImpersonation –User:superman
授权superman访问user001邮箱
此处user001是指代某个员工账号,请填写实际存在的账号名; identity参数可以是邮箱地址或域账号前缀。
Add-MailboxPermission -Identity "user001" -User superman -AccessRights FullAccess -InheritanceType All
批量导出所有需要进行数据迁移的地址
此处MDB1是指代数据库,请填写实际存在的数据库完整名称;如果存在多个数据库,则需要多次导出,然后整理到一个 allmailbox.csv 文件中。
Get-Mailbox –database "MDB1" -resultsize unlimited |select primarysmtpaddress|Export-Csv -Path d:\allmailbox.csv -encoding utf8
批量授权superman访问用户邮箱
identity后的 $_.primarysmtpaddress 指代 alimailbox.csv 内的所有账号;allmailbox.csv为上一步导出的文件。
Import-CSV d:\allmailbox.csv | ForEach {Add-MailboxPermission -Identity $_.primarysmtpaddress -User superman -AccessRights FullAccess -InheritanceType All}
二、Exchange建⽴新的Exchange web service访问策略,以解除并发访问限制。
以下操作的命令,都是一行写完;全英文半角输入;中间有空格的只空一格;避免错误,建议事先将命令复制到txt文本里 。
键⼊: New-ThrottlingPolicySupermanPolicy。
设置各参数无限制(不是所有的版本都会有如下参数,根据版本实际参数来写,没有的请删除。)
键入: Set-Set-ThrottlingPolicy SupermanPolicy -RCAMaxConcurrency $null -RCAPercentTimeInAD $null -RCAPercentTimeInCAS $null -RCAPercentTimeInMailboxRPC $null -EWSMaxConcurrency $null -EWSPercentTimeInAD $null -EWSPercentTimeInCAS $null -EWSPercentTimeInMailboxRPC $null -EWSMaxSubscriptions $null -EWSFastSearchTimeoutInSeconds $null -EWSFindCountLimit $null -OwaMaxConcurrency $null
如找不到某些参数,会有如下报错(可查看所有策略参数 get-ThrottlingPolicy |fl ):
将服务资源策略应用至superman账户
如果Exchange服务器带宽充足,可以创建多个SuperMan账号,superman1,superman2, superman3…以加快搬家速度。
键入 : Set-Mailbox "superman" -ThrottlingPolicy SupermanPolicy
将服务资源策略应用至所有搬家的账户,以解除邮箱搬家时对服务器对邮箱账号的资源限制。
键入: Import-CSV d:\allmailbox.csv | ForEach {Set-Mailbox -Identity $_.PrimarySmtpAddress -ThrottlingPolicy SupermanPolicy}
验证策略是否生效
5.1 确认服务器资源策略是否均被放开
键入 : get-ThrottlingPolicy SupermanPolicy |fl RCAMaxConcurrency,RCAPercentTimeInAD,RCAPercentTimeInCAS,RCAPercentTimeInMailboxRPC,EWSMaxConcurrency,EWSPercentTimeInAD,EWSPercentTimeInCAS,EWSPercentTimeInMailboxRPC,EWSMaxSubscriptions,EWSFastSearchTimeoutInSeconds,EWSFindCountLimit,OwaMaxConcurrency
5.2 抽查搬家的邮箱是否应用了SupermanPolicy策略
此处emailaddress为搬家的邮箱,请填写实际的搬家账号;identity参数可以是邮箱地址或域账号前缀。
键入:get-mailbox –identity emailaddress |select-object ThrottlingPolicy
三、以管理员身份打开 AD 服务器注册表:
Exchange关联的AD服务器,需要设置最大并发访问限制。
进入windows注册表
点击开始,点击运行,输入 regedit,点击确认。
找到注册表键值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
创建一个DWORD键值, 命名为 MaxConcurrentApi
双击或右键修改DWORD,选择十进制,输入最大的并发值为100
停止netlogon服务
开启netlogon服务
预约实施
完成准备工作后,与阿里邮箱技术团队预约实施时间,等待实施正式搬家工作。
邮箱搬家过程中可能出现的因为原服务网络、原服务器资源限制等原因发生的邮件搬家失败问题,请确保搬家期间原邮箱服务是正常运行的。
搬家结果验证
阿里邮箱提供每个文件夹邮件总数的汇总信息,您可以据此对比原邮件系统和搬家后云邮箱邮件数据是否一致,进入每个邮箱文件夹或使用高效的搜索功能,可以迅速查看、获取邮件信息。
或通过邮箱管理后台,统计与日志-账号使用量统计-导出(建议每天中午12点后导出可查看截止前一天的存量)。
发送切换通知
一旦执行MX记录切换,原邮箱将无法接收外部投递过来的新邮件,所以执行MX切换前,请先确保员工已经准备好使用阿里邮箱的准备,需要提前发送通知。
切换解析
当所有用户完成历史邮件搬家后,客户端已经准备好相应的设置,此时可以启动MX、SPF解析切换到阿里云邮件系统。
解析请参考:
增量回归
从历史邮件导入到MX切换期间,原Exchange邮箱会收取到新的邮件,所以在执行MX切换后,需要通知用户停止使用Exchange邮箱收发邮件,以确保发生的增量邮件可控后,后台再启动搬家工具,以将产生的增量邮件数据回归至阿里邮箱。
客户端配置
企业邮箱客户端设置请参考:https://help.aliyun.com438661.php
FAQ
Q1:当进行superman授权访问用户邮箱时,提示无法自动显示所添加的某些委派。限制为显示前32个条目。这是什么原因?
A1:在进行授权的用户条目数较多时,提示你操作后显示无法自动显示。黄色字体只是提示,实际该操作已经成功,对邮件数据迁移无任何影响。
Q2: Exchange 2013版本建立新的Exchange web service访问策略,以解除并发访问限制出现报错:其他参数也都有问题。
A2: Exchange 2013或以上版本,已经取消了如下参数:
RCAPercentTimeInAD
RCAPercentTimeInCAS
RCAPercentTimeInMailboxRPC
EWSPercentTimeInAD
EWSPercentTimeInCAS
EWSPercentTimeInMailboxRPC
EWSFastSearchTimeoutInSeconds
EWSFindCountLimit
忽略这些参数设置即可,不影响邮件数据迁移。
Q3: 如何在不指定数据库的情况下,导出所有的邮箱地址?
A3: get-mailbox -resultsize unlimited |select primarysmtpaddress | export-csv -path d:\alimailbox-all.csv -encoding utf8