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

[玩转系统] Get-MailboxStatistics - 如何获取邮箱大小

作者:精品下载站 日期:2024-12-14 13:37:32 浏览:15 分类:玩电脑

Get-MailboxStatistics - 如何获取邮箱大小


[玩转系统] Get-MailboxStatistics - 如何获取邮箱大小

要检索邮箱的大小或项目计数,您必须使用 Get-MailboxStatistics,或者更好的是改进的 Get-EXOMailboxStatistics PowerShell CmdLet。

这两个 PowerShell 命令都是 Exchange PowerShell 模块“ExchangeOnlineManagement”的一部分,您可以使用以下命令安装该模块:

Install-Module ExchangeOnlineManagement

安装 Exchange 管理模块后,您可以开始检索邮箱的大小和项目计数。

到目前为止,最好的选择是使用新的 Get-EXOMailboxStatistics,因为它提供了两个明显的好处:

  1. 首先,它仅检索基本的邮箱统计信息(提高了性能)。
  2. 其次,它可以轻松地将大小值转换为字节、KB、MB 和 GB。

以下输出显示了 Get-EXOMailboxStatistics 命令的一些基本用法:

PS C:\> Get-EXOMailboxStatistics [email protected]

DisplayName          : Hans Christian Ørsted
MailboxGuid          : b960c39b-1e76-4332-816b-5925f269da37
DeletedItemCount     : 19
ItemCount            : 241
TotalDeletedItemSize : 96.8 KB (99,121 bytes)
TotalItemSize        : 64.29 MB (67,411,850 bytes)

PS C:\> (Get-EXOMailboxStatistics [email protected]).TotalItemSize.Value
64.29 MB (67,411,850 bytes)

PS C:\> (Get-EXOMailboxStatistics [email protected]).TotalItemSize.Value.ToMB()
64

PS C:\> (Get-EXOMailboxStatistics [email protected]).TotalItemSize.Value.ToGB()
0

正如您在最后一行中注意到的,没有提供数字。因此,如果您想以 GB 为单位列出邮箱大小并包含多个数字,则必须进行一些调整。

以下示例获取 TotalItemSize(以字节为单位)并将其转换为三位数的 GB:

PS C:\> [math]::Round((Get-EXOMailboxStatistics [email protected]).TotalItemSize.Value.ToBytes()/[math]::Pow(1024, 3), 3)
0.063

获取单个用户的邮箱大小

到目前为止,检索单个用户的邮箱使用情况的最简单方法是使用 Easy365Manager。

Easy365Manager 是 Active Directory 用户和计算机的管理单元,可整合 AD 和 Office 365 管理。

Easy365Manager 在用户属性中提供了两个额外的选项卡(“Office 365”和“邮箱”),允许您查看和管理 Office 365 邮箱:

Easy365Manager 为您省去了不断登录 Microsoft 提供的许多不断变化的 Web 控制台的麻烦

它还可以允许您执行通常需要 PowerShell 脚本编写的更改,例如日历委托或 Azure AD Connect 同步。

最后,借助 Easy365Manager,您可以安全地删除本地 Exchange Server,从而立即消除网络的重大负担(和潜在风险)。

在此下载功能齐全的 30 天试用版。

您可以将 Easy365Manager 安装到任何运行 AD 用户和计算机的 PC 或服务器。

Easy365Manager 不会对您的基础设施进行任何更改,只需几分钟即可安装和配置。

获取多个用户的邮箱大小

要检索多个用户的邮箱大小,应使用 Get-EXOMailboxStatistics 命令。

如前所述,它的性能比 Get-MailboxStatistics 更好,并且可以轻松地将邮箱大小转换为您想要的任何格式。

但是,我建议您始终将大小值导出为字节。这是“最纯粹”的值,您始终可以在 Excel 中将其转换为您想要的格式。

(如果您希望以 MB 或 GB 为单位输出结果,请使用前面列出的转换方法)。

$Mbxs = Get-EXOMailbox -ResultSize Unlimited
$j = $Mbxs.Count
$Result = @()
For ($i = 0; $i -lt $j; $i++){
    $Stats = $Mbxs[$i] | Get-EXOMailboxStatistics
    $MbxInfo = [PSCustomObject] @{
        UPN                     = $Mbx.UserPrincipalName
        DisplayName             = $Stats.DisplayName
        TotalItemSize           = $Stats.totalitemsize.value.ToBytes()
        ItemCount               = $Stats.ItemCount
        TotalDeletedItemSize    = $Stats.TotalDeletedItemSize.value.ToBytes()
    }
    $Pct = [int]($i / $j * 100)
    Write-Progress -Activity "Retrieving stats." -Status "$Pct% Complete:" -PercentComplete ($Pct)
    $Result += $MbxInfo
}
Write-Host
$Result | ft UPN,DisplayName,TotalItemSize,ItemCount,TotalDeletedItemSize -AutoSize

由于结果存储在 PowerShell 对象 ($Result) 中,因此您可以轻松将结果导出到 CSV 文件或将其用于进一步自动化:

PS C:\> $Result | Export-Csv c:\Temp\MailStats.csv -NoTypeInformation
PS C:\> $Result | % {Write-Host Mailbox of $_.DisplayName has $_.ItemCount items.}
Mailbox of App Mailbox has 2578 items.
Mailbox of Customer Support has 241 items.
Mailbox of Hans Christian Ørsted has 9634 items.
...

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

取消回复欢迎 发表评论:

关灯