管理迁移请求
使用Get-MoveRequest命令可以了解迁移请求的处理情况。默认状态下,该命令将返回当前可用的所有迁移请求。举例说明,图13即为Get-MoveRequest命令返回的信息。从图中可以看到,当前只有一个迁移请求可用,示例邮箱已经移动到命名为TEST的目标数据库,并且该请求已经完成。
图 13: Get-MoveRequest命令的返回结果
同前面讲到的New-MoveRequest命令一样,Get-MoveRequest也有很多参数,参数的完整列表见微软官网(http://technet.microsoft.com/en-us/library/dd335227.aspx)。本文仅介绍其中几个重要参数:
迁移状态(MoveStatus):使用此参数,可以改进Get-MoveRequest命令的输出,使其仅返回特定状态的迁移请求。例如,如果只想查询“办理中”(InProgress)状态的迁移请求,可以运行如下命令:
Get-MoveRequest –MoveStatus InProgress
本例的输出结果如图14所示。合法的参数包括:无(None)、排队(Queued)、 办理中(InProgress)、自动挂起(AutoSuspended)、已完成(Completed)及失败(Failed)等等。
图14:指定状态的迁移请求
源数据库(SourceDatabase):该参数显示所有正从一个特定源数据库移动的邮箱,因此对确定源邮箱服务器的负载非常有用。
准备结束时挂起(SuspendWhenReadyToComplete):该参数用来在邮箱最终到达目标数据库前暂停邮箱迁移。后面文章中还要讲到这个参数。
目标数据库(TargetDatabase):类似源数据库参数。
迁移请求挂起
如前面文章所述,带有SuspendWhenReadyToComplete参数的New-MoveRequest 和Get-MoveRequest命令用于在最终目标数据库位置更新前暂停迁移请求。利用这个方法,一旦恢复挂起的迁移请求,邮箱数据就开始迁移,但不进行最后的状态转换。同理,也可以用Suspend-MoveRequest命令挂起已存在的迁移请求。
一个使用SuspendWhenReadyToComplete参数的New-MoveRequest命令,代码实现如下:
New-MoveRequest –Identity neil –SuspendWhenReadyToComplete
稍加注意就会发现,上述命令未使用TargetDatabase参数来指定任何特定的数据库。如果不设置这个参数,邮箱数据库将由系统选定。
如前所述,在最终的转换发生之前,邮箱迁移过程会被挂起。可以通过运行Get-MoveRequest cmdlet命令加以确认。在图15中,我们可以看到,通过使用SuspendWhenReadyToComplete参数,邮箱已经被迁移。随即,迁移请求的状态即变为InProgress,也就是说邮箱内容正在迁移过程中。使用SuspendWhenReadyToComplete参数后,再运行Get-MoveRequest命令刷新,这时迁移请求的状态变为“自动挂起” (AutoSuspended)。与此相对应,利用Exchange管理控制台查看,显示结果也如此,参见图16。
图 15: 迁移请求挂起( Exchange命令行管理程序)
图 16: 迁移请求挂起( Exchange管理控制台)
如果邮箱迁移全部完成,管理员可使用如下命令重新恢复迁移请求:
Resume-MoveRequest –Identity neil
此命令一旦执行,重新运行Get-MoveRequest命令,迁移请求状态即显示为“完成”。
批量命名
前面文章已经提到,New-MoveRequest命令有一个参数,称为“批量命名”(BatchName)。在迁移多个邮箱时,先用Get-MoveRequest命令成批次地搜索特定的待迁移邮箱,然后使用该参数对指定某一名称的邮箱进行批量操作。
通常情况下,将一个邮箱数据库的内容整体迁移到另一个数据库时,适用批量命名功能。为简便起见,我们为一个邮箱创建两个迁移请求,并为这两个迁移请求分别指定一个不同的批量名称。然后,使用Get-MoveRequest命令来验证批量名称是否可以搜索到。
首先,用Exchange命令行管理程序创建两个简单的迁移请求,并指定不同的批量名称。实现如下:
New-MoveRequest –Identity neil –TargetDatabase ‘Mailbox Database 003’ –BatchName Batch001
New-MoveRequest –Identity rob –TargetDatabase ‘Mailbox Database 004’ –BatchName Batch002
创建完成后,使用带有BatchName参数的Get-MoveRequest命令来查找与已确定批量名称相关联的邮箱迁移请求。例如,要查看所有与Batch001相关联的邮箱迁移请求,可用如下命令:
Get-MoveRequest –BatchName Batch001
图17中,只返回了一个邮箱,这是因为另一个邮箱使用了不同的批量名称。
图 17: 批量名称过滤
多邮箱迁移
前面的文章讲到了使用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提供的邮箱迁移脚本。
自由广告区 |
分类导航 |
邮件新闻资讯: IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮 电子邮箱 | 反垃圾邮件|邮件客户端|网络安全 行业数据 | 邮件人物 | 网站公告 | 行业法规 网络技术: 邮件原理 | 网络协议 | 网络管理 | 传输介质 线路接入 | 路由接口 | 邮件存储 | 华为3Com CISCO技术 | 网络与服务器硬件 操作系统: Windows 9X | Linux&Uinx | Windows NT Windows Vista | FreeBSD | 其它操作系统 邮件服务器: 程序与开发 | Exchange | Qmail | Postfix Sendmail | MDaemon | Domino | Foxmail KerioMail | JavaMail | Winwebmail |James Merak&VisNetic | CMailServer | WinMail 金笛邮件系统 | 其它 | 反垃圾邮件: 综述| 客户端反垃圾邮件|服务器端反垃圾邮件 邮件客户端软件: Outlook | Foxmail | DreamMail| KooMail The bat | 雷鸟 | Eudora |Becky! |Pegasus IncrediMail |其它 电子邮箱: 个人邮箱 | 企业邮箱 |Gmail 移动电子邮件:服务器 | 客户端 | 技术前沿 邮件网络安全: 软件漏洞 | 安全知识 | 病毒公告 |防火墙 攻防技术 | 病毒查杀| ISA | 数字签名 邮件营销: Email营销 | 网络营销 | 营销技巧 |营销案例 邮件人才:招聘 | 职场 | 培训 | 指南 | 职场 解决方案: 邮件系统|反垃圾邮件 |安全 |移动电邮 |招标 产品评测: 邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端 |