当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 将邮箱移动到另一个数据库

作者:精品下载站 日期:2024-12-14 18:06:26 浏览:16 分类:玩电脑

使用 PowerShell 将邮箱移动到另一个数据库


您可以使用 PowerShell 将 Exchange 2010/2013/2016/2019 中的邮箱移动到另一个数据库。但是,除了使用 PowerShell 之外,还有另一种方法。那是通过 Exchange 控制面板 (ECP)。我建议使用 Exchange Management Shell (EMS) 来完成此操作。 ECP 刷新结果的速度并不总是很快。在本文中,我们将使用 PowerShell 将邮箱移动到另一个数据库。

信息

我们有一个名为 John Doe 的用户,他的电子邮件是 [email protected]。我们希望使用 PowerShell 将用户邮箱移动到另一个数据库。

注意:在将邮箱移动到另一个数据库之前,请确保您已阅读 Exchange 数据库最佳实践一文。

您是否想要移动邮箱,但在移动请求达到 CompletionInProgress 状态之前暂停该请求,以便您可以手动完成它?一个很好的方法是在每个命令中使用 -SuspendWhenReadyToComplete 开关。

使用 PowerShell 获取邮箱信息

我们首先检查用户当前所在的数据库。以管理员身份运行 Exchange 命令行管理程序并运行 Get-Mailbox cmdlet。您可以按用户电子邮件地址或用户姓名进行搜索。

主邮箱和存档邮箱位置位于数据库 DB01 中。

[PS] C:\>Get-Mailbox "[email protected]" | Format-Table Name,PrimarySmtpAddress,Database,ArchiveDatabase

Name     PrimarySmtpAddress Database ArchiveDatabase
----     ------------------ -------- ---------------
John Doe [email protected] DB01     DB01           
[PS] C:\>Get-Mailbox "John Doe" | Format-Table Format-Table Name,PrimarySmtpAddress,Database,ArchiveDatabase

Name     PrimarySmtpAddress Database ArchiveDatabase
----     ------------------ -------- ---------------
John Doe [email protected]  DB01     DB01          

现在我们知道主邮箱和存档邮箱位于 DB01 中,让我们看看下一步如何移动邮箱。

使用 PowerShell 移动主邮箱和存档邮箱

主邮箱和存档邮箱移动到另一个数据库。我们将主邮箱和存档邮箱移动到数据库 DB02。

让我们运行 New-MoveRequest cmdlet。

[PS] C:\>New-MoveRequest "[email protected]" -TargetDatabase "DB02"

DisplayName StatusDetail        TotalMailboxSize               TotalArchiveSize         PercentComplete
----------- ------------        ----------------               ----------------         ---------------
John Doe    WaitingForJobPickup 4.891 GB (5,251,716,383 bytes) 810.9 KB (830,394 bytes) 0              

另一种选择是将主邮箱和存档邮箱移动到不同的邮箱数据库。让我们将主邮箱移动到 DB02,将存档邮箱移动到 DB03。

[PS] C:\>New-MoveRequest "[email protected]" -TargetDatabase "DB02" -ArchiveTargetDatabase "DB03"

DisplayName StatusDetail        TotalMailboxSize               TotalArchiveSize         PercentComplete
----------- ------------        ----------------               ----------------         ---------------
John Doe    WaitingForJobPickup 4.891 GB (5,251,716,383 bytes) 810.9 KB (830,394 bytes) 0              

仅使用 PowerShell 移动主邮箱

假设我们只想移动主邮箱。我们必须将 -PrimaryOnly 参数添加到命令中。

[PS] C:\>New-MoveRequest "[email protected]" -TargetDatabase "DB02" -PrimaryOnly

DisplayName StatusDetail        TotalMailboxSize               TotalArchiveSize PercentComplete
----------- ------------        ----------------               ---------------- ---------------
John Doe    WaitingForJobPickup 4.891 GB (5,251,716,383 bytes)                  0              

仅使用 PowerShell 移动存档邮箱

如果我们只想移动存档邮箱,则需要在命令中添加-ArchiveTargetDatabase-ArchiveOnly参数。

[PS] C:\>New-MoveRequest "[email protected]" -ArchiveTargetDatabase "DB02" -ArchiveOnly

DisplayName StatusDetail        TotalMailboxSize TotalArchiveSize         PercentComplete
----------- ------------        ---------------- ----------------         ---------------
John Doe    WaitingForJobPickup 0 B (0 bytes)    812.4 KB (831,851 bytes) 0              

使用 PowerShell 检查邮箱移动进度

运行 Get-MoveRequest cmdlet 和 Get-MoveRequestStatistics cmdlet 以检查邮箱移动状态。

[PS] C:\>Get-MoveRequest | Get-MoveRequestStatistics

DisplayName StatusDetail    TotalMailboxSize               TotalArchiveSize         PercentComplete
----------- ------------    ----------------               ----------------         ---------------
John Doe    CopyingMessages 4.891 GB (5,251,716,383 bytes) 812.4 KB (831,851 bytes) 84             

正在复制消息。再次运行命令。

[PS] C:\>Get-MoveRequest | Get-MoveRequestStatistics

DisplayName StatusDetail TotalMailboxSize               TotalArchiveSize         PercentComplete
----------- ------------ ----------------               ----------------         ---------------
John Doe    Completed    4.891 GB (5,251,716,383 bytes) 812.4 KB (831,851 bytes) 100            

邮箱完成后,您将看到 [email protected]100% 完成

使用 PowerShell 验证邮箱移动完成情况

检查用户邮箱和存档邮箱是否已移至新数据库。

[PS] C:\>Get-Mailbox "[email protected]" | Format-Table Name,PrimarySmtpAddress,Database,ArchiveDatabase

Name     PrimarySmtpAddress Database ArchiveDatabase
----     ------------------ -------- ---------------
John Doe [email protected] DB02     DB03           

两个邮箱均已成功移动。您会使用PowerShell将邮箱移动到Exchange 2010/2013/2016/2019吗?

了解更多信息:将所有邮箱从一个数据库移至另一个数据库 »

结论

您了解了如何使用 PowerShell 将 Exchange 2010/2013/2016/2019 中的邮箱移动到另一个数据库。我希望您能够充分利用这些命令,并且邮箱迁移到另一个数据库将会顺利进行。如果您将来需要将邮箱移动到另一个数据库,最好保留这些命令。

您喜欢这篇文章吗?您可能还喜欢清理日志 Exchange 2013/2016/2019。不要忘记关注我们并分享这篇文章。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯