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

[玩转系统] 使用 PowerShell 获取 Exchange 邮箱数据库大小和可用的新邮箱空间

作者:精品下载站 日期:2024-12-14 04:09:17 浏览:15 分类:玩电脑

使用 PowerShell 获取 Exchange 邮箱数据库大小和可用的新邮箱空间


2015 年,Paul Cunningham 撰写了有关此主题的文章。随着时间的推移,Exchange Server 的新版本意味着我们有必要回顾一下 Exchange 2019 之前的当前情况。

随着时间的推移,Exchange 邮箱数据库不断增长。添加了邮箱,用户继续发送和接收电子邮件,平均邮件大小增加,并且用户倾向于保留所有电子邮件。同时,用户会删除邮件,而 Exchange 管理员会在用户离开公司时删除邮箱。不幸的是,Exchange 邮箱数据库不会缩小。

Microsoft 平台迁移规划和整合

可用的新邮箱空间

删除单个项目或整个邮箱后,一旦保留时间过去,已删除项目占用的空间将在邮箱数据库中变为可用。这称为“可用的新邮箱空间”,但通常称为“空白空间”。随着时间的推移,“可用的新邮箱空间”对于整个数据库大小而言可能变得非常重要。

要检索邮箱数据库的可用新邮箱空间,请使用带有 -Status 选项的 Get-MailboxDatabase cmdlet:

Get-MailboxDatabase -Status | Select-Object Name, DatabaseSize, AvailableNewMailboxSpace | Format-Table -AutoSize

Name DatabaseSize AvailableNewMailboxSpace

---- ------------ ------------------------

DB01 553.9 GB (594,718,752,768 bytes) 381.4 MB (399,966,208 bytes)

DB02 606.1 GB (650,821,763,072 bytes) 294.6 MB (308,903,936 bytes)

DB03 508.1 GB (545,596,112,896 bytes) 4.519 GB (4,851,990,528 bytes)

DB04 183.8 GB (197,300,060,160 bytes) 333.2 MB (349,339,648 bytes)

DB05 787 GB (845,034,815,488 bytes) 146.1 MB (153,223,168 bytes)

笔记。除了可用的新邮箱空间之外,-Status 选项还可以返回有关以下属性的信息:

  • BackupInProgress - 备份邮箱数据库时,有关备份的信息将写入邮箱数据库的标头中。此信息只能使用 ESEUTIL 实用程序离线获取。当备份正在进行时,可以使用此选项获取此信息。
  • 已安装 - 返回邮箱数据库的状态,类似于 Get-MailboxDatabaseCopyStatus cmdlet。
  • OnlineMaintenanceInProgress - 在线维护是优化邮箱数据库的后台进程。它会删除邮箱项目和过期的邮箱,并优化可用的新邮箱空间。

所有三个选项都返回 FALSE 或 TRUE。

为了获得更易读且可用于报告的输出,我将其转换为 GB 或 MB,或两者:

Get-MailboxDatabase -Status | Sort-Object name | Select-Object name,@{Name='DB Size (Mb)';Expression={$_.DatabaseSize.ToGb()}

},@{Name='Available New Mbx Space Mb)';Expression={$_.AvailableNewMailboxSpace.ToMb()}}

Name DB Size (Gb) Available New Mbx Space Mb)

---- ------------ ---------------------------

DB01 554 381

DB02 606 294

DB03 508 4627

DB04 184 333

DB05 787 146

现在您知道邮箱数据库中的可用空间。在上面的列表中,邮箱数据库 DB03 在增长之前可以容纳大量新项目。

磁盘已满场景

Exchange 邮箱数据库不会自动收缩,即它们不会变得更小并将可用空间返回给操作系统。从邮箱数据库回收空间的唯一方法是创建新的邮箱数据库并将所有邮箱移动到新的邮箱数据库。只有邮箱才会移动到新邮箱数据库,而不是可用的新邮箱空间。假设您有一个 250 GB 的邮箱数据库,该邮箱数据库中有 200 GB 的邮箱数据,以及 50 GB 可用的新邮箱空间。将邮箱移动到这个新的邮箱数据库后,其大小将变为 200 GB,并且将返回 50 GB 给操作系统。

我经常听到的一个常见问题是关于 Exchange Server 标准版,它可以托管 5 个邮箱数据库。当 5 个邮箱数据库正在运行时,无法选择创建新的邮箱数据库来回收可用的新邮箱空间。

在这种情况下有几种选择:

  • 如果您运行虚拟化 Exchange 服务器,则可以扩展磁盘以容纳更大的邮箱数据库。但是,您必须考虑备份和恢复时间。恢复大型邮箱数据库可能需要很长时间。
  • 如果在数据库可用性组 (DAG) 中运行 Exchange 服务器,则可以删除一个邮箱数据库副本,创建一个新的邮箱数据库,然后将所有邮箱移至此新邮箱数据库并创建一个新副本。
  • 升级到 Exchange Server 企业版(服务器上最多支持 100 个数据库),创建新的邮箱数据库,并将邮箱移动到新的邮箱数据库(假设您有其他可用磁盘)。
  • 将邮箱从要回收的邮箱数据库卸载到 Exchange Online。当此邮箱数据库为空时,将其删除,创建一个新邮箱,并将一些邮箱重新分发到刚刚创建的邮箱数据库。
  • 如果所有其他选项都不可行,您可以使邮箱数据库脱机并使用 ESEUTIL 工具执行脱机碎片整理。但这是最后的手段,你应该确保你知道自己在做什么。如果您有疑问,请在 Microsoft 支持处创建票证。我见过太多的管理员因为事先不了解会发生什么而陷入麻烦。

前进

所有这些选择都需要一些时间和计划,你必须问自己为什么会陷入这种情况。我最好的猜测是缺乏监控,但我不想评判你的情况。

邮箱数据库随着时间的推移而增长是很自然的,如果您不注意,您的邮箱数据库将会扩展并变得太大。这可能会导致您的服务器磁盘空间不足。您可以检查可用的新邮箱空间量,看看邮箱数据库中是否留有任何“空白”,但邮箱数据库不会自动收缩。

如上所述,您有多种选择来解决此问题。从长远来看,最好有一个适当的监控解决方案,这样您就根本不会遇到这个问题。

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

取消回复欢迎 发表评论:

关灯