网络通信 频道

Exchange 2010如何进行邮箱迁移(三)

  多邮箱迁移

  前面的文章讲到了使用New-MoveRequest命令迁移单个邮箱。由于单个邮箱的别名只需传递给New-MoveRequest命令的Identity参数,因此迁移单个邮箱相对简单。多邮箱迁移可以通过各种不同的方法实现,这里作一简单概述。

  首先,将所有邮箱从一个数据库全部迁移到另一个数据库很容易实现,只需把Get-MailboxDatabase命令的结果通过管道(Pipe)技术输出到New-MoveRequest。示例如下:

  Get-Mailbox –Database ‘Mailbox Database 001’ | New-MoveRequest –TargetDatabase `

  ‘Mailbox Database 002’

  如果仅有少量邮箱需要迁移,可以考虑使用PowerShell的数组功能。假设我们希望迁移Neil、Rob及Mark三人的邮箱,脚本实现如下:

  $MailboxesToMove = ‘neil’,’rob’,’mark’

  ForEach ($SingleMailbox in $MailboxesToMove) {New-MoveRequest –Identity $SingleMailbox `

  –TargetDatabase ‘Mailbox Database 002’ –BatchName Batch001}

  在这个脚本中,首先定义了一个名为$MailboxesToMove的数组,这个数组包含上述3个待迁移的邮箱名称。然后,每个邮箱名称分别提交给New-MoveRequest命令进行处理,而并不区分邮箱的源数据库。

  同样,也可以使用PowerShell的Get-Content命令。首先,创建一个包含待迁移邮箱名称的文本文件。图18的例子中,该文件命名为Mailboxes.txt。

图 18: Mailboxes.txt文件示例

  下面的示例脚本即实现mailboxes.txt文件中所列邮箱的迁移:

  $Mailboxes = Get-Content ./mailboxes.txt

  For ($Start = 0; $Start -lt $Mailboxes.length; $Start++) {New-MoveRequest –Identity `

  $Mailboxes[$Start] -TargetDatabase 'Mailbox Database 002'}

  其中,Get-Content命令用于获取mailboxes.txt文件的内容并将内容指派给$Mailboxes。接下来,对$Mailboxes中的内容执行一个循环,每个循环中分别调用New-MoveRequest命令。

  在本系列文章的第四部分,我们还将推出更多实现多邮箱迁移的方法。

  结语

  这部分内容主要讲述了如何管理迁移请求以及如何挂起请求。在后续的第四部分中,我们将了解Exchange 2010提供的邮箱迁移脚本。

0
相关文章