将邮箱从一个Exchange Server移动或迁移到另一个Exchange Server是管理员经常需要执行的一项相当常见的任务。在本地部署的Exchange Server 2010 SP1及更高版本中,管理员可以使用New-MoveRequestPowerShell cmdlet创建本地移动请求,用于将用户邮箱、档案和其他邮箱从一个数据库移动到同一组织内的另一个数据库。cmdlet还可以用于将邮箱从本地Exchange组织转移到Exchange Online或者微软365,反之亦然。
在本文中,您将学习如何使用New-MoveRequest在本地Exchange数据库之间或与Exchange Online (Office 365)之间执行邮箱移动或迁移邮箱。
开始之前
在使用前必须了解以下内容New-MoveRequest本地Exchange和Exchange Online中的cmdlet。
- 必须分配“移动邮箱”角色才能使用New-MoveRequest
- 可以使用cmdlet在同一Active Directory林中的本地Exchange组织内移动邮箱。
- 不应使用cmlet移动Exchange Online组织内的邮箱。
- 您可以使用cmlet一次移动单个或多个邮箱。
- 必须使用CSV文件将多个邮箱迁移到同一林中或Exchange Online中的目标数据库。
- cmdlet适用于Exchange Server 2010 SP1、Exchange Server 2013、Exchange Server 2016和Exchange Server 2019。
在Exchange Server中使用new - moverrequest Cmdlet
下面介绍如何使用New-MoveRequest cmd将同一林中的邮箱移动到Exchange Online或从Exchange Online移动到邮箱。
分配所需的角色和权限
开放Exchange Management Shell(EMS),并执行以下命令显示运行cmdlet所需的角色和权限。
$Perms = Get-ManagementRole -Cmdlet new - moverrequest
$Perms | foreach {Get-ManagementRoleAssignment -Role $_。Name - delegation $false | Format-Table -Auto Role, roleassigntype, roleassignename}
然后使用New-ManagementRoleAssignmentcmdlet或Exchange Admin Center (EAC),将所需的角色分配给将用于移动邮箱的用户帐户。
new - managementrole - assign -Role "Move mailbox " -User
一旦分配了所需的角色和权限,您就可以运行和使用New-MoveRequest创建邮箱移动请求,用于将用户邮箱或其他邮箱移动或迁移到另一个数据库或Exchange Online。
将邮箱移动到同一林中的另一个数据库
使用下面的new - moverequest PowerShell命令,您可以通过在同一林中提到源邮箱名称(标识)和目标邮箱数据库来创建新的邮箱移动请求。
New-MoveRequest身份-TargetDatabase -TargetMailboxDatabase
例如,
新增-移动请求-身份'ravi@test.local' -目标数据库"MBXDB03" -什么
通过使用尼塔参数,您可以在实际创建移动请求之前测试cmdlet。该参数帮助您验证命令操作——如果它是有效的,以及它将做什么。
新增moverrequest -Identity 'ravi@test.local' -TargetDatabase "MBXDB03"
这将移动邮箱。”拉维(存储在MBXDB01数据库)MBXDB03.
要一次移动多个邮箱,可以使用Get-Mailbox PowerShell命令let和New-MoveRequest命令let。例如,
getmailbox -Database MBXDB01 | New-MoveRequest -TargetDatabase MBXDB03 -BatchName "MBXDB01toMBXDB03"
将邮箱移动到Exchange Online (Microsoft 365)
要将邮箱从本地迁移到Exchange Online,您需要以下详细信息:
- 身份:邮箱名或邮箱地址。
- -RemoteHostName:你可以用Get-MigrationEndpoint
- -TargetDeliveryDomain:组织中用于Exchange Online邮箱的主SMTP域。
- -RemoteCredential:全局管理员凭证或分配了“移动邮箱”角色的用户凭证。
按照以下步骤将邮箱从本地邮箱数据库移动到Microsoft 365或Exchange Online。
- 在Exchange Management Shell中,运行以下命令更改执行策略。
Set-ExecutionPolicy RemoteSigned
新闻Y,按回车键确认。 - 安装Exchange Online Management模块。
Install-Module -Name exchangeonlinmanagement - 新闻Y和输入如果提示,继续的键。
- 连接到Exchange Online。
Connect-ExchangeOnline
- 一个新的弹出窗口将出现。输入登录凭据。
- 然后执行以下命令将邮箱移动到Exchange Online (Microsoft 365)。
-RemoteHostName "dh57faz6shw1-f2b3-4e51g.resource.mailboxmigration.his.msappproxy.net" -TargetDeliveryDomain "domain.mail.onmicrosoft.com" -TargetDeliveryDomain "domain.mail.onmicrosoft.com" -RemoteCredential (Get-Credential域\administrator)
如何查看移动邮箱是否成功?
要检查移动请求是否成功,并且邮箱是否已移动到所需的邮箱数据库,请运行以下命令:
Get-MoveRequestStatistics -Identity ravi
它会显示StatusDetail和PercentComplete.
您也可以使用get - moverrequest命令来检查移动状态或进度。
Get-MoveRequest
使用实例查询多个邮箱移动请求状态。
get - moverrequest -BatchName " MBXDB01toMBXDB03 "
如果看到状态已完成,则表示邮箱已成功移动到所需的数据库或Exchange Online。
结论
在本文中,您学习了如何使用New-MoveRequestPowerShell cmdlet将邮箱从一个数据库移动或迁移到同一林中的另一个邮箱数据库和Exchange Online。如果出现问题或命令因异常或错误而失败,您可以参考Microsoft文档以获取解决方案。这可能需要管理工作,并且需要一些时间来完成迁移。但是,您可以通过使用EDB到PST转换器软件,例如用于EDB的恒星转换器。该软件可以从在线或离线邮箱中提取所有邮箱,并将其保存为PST格式,您可以将其导入Office 365。还可以直接将邮箱从本地Exchange Server上的脱机邮箱数据库导出到同一林中相同或不同服务器上的另一个数据库。该软件还可以将单个或多个邮箱从本地Exchange直接导出到Office 365或Exchange Online (Microsoft 365),只需单击几下即可。