You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Exchange Server邮箱大小PowerShell报告格式优化及新增列需求

处理Exchange邮箱报告的PowerShell脚本优化方案

需求说明

  • 把TotalItemSize、IssueWarningQuota、ProhibitsendReceiveQuota、ProhibitSendQuota列的格式改成纯字节数值,和FreeSpace列一致
  • 新增FreeSpace %列,算出邮箱可用空间占总配额的百分比

优化后的完整脚本

# 获取所有邮箱统计数据并处理格式
Get-MailboxStatistics -ResultSize Unlimited | 
Select-Object DisplayName, 
              FreeSpace,
              # 提取TotalItemSize的纯字节数值
              @{Name='TotalItemSize'; Expression={[double]($_.TotalItemSize.ToString().Split('(')[1].Split(' ')[0].Replace(',',''))}},
              alias,
              # 提取IssueWarningQuota的纯字节数值
              @{Name='IssueWarningQuota'; Expression={[double]($_.IssueWarningQuota.ToString().Split('(')[1].Split(' ')[0].Replace(',',''))}},
              # 提取ProhibitsendReceiveQuota的纯字节数值
              @{Name='ProhibitsendReceiveQuota'; Expression={[double]($_.ProhibitsendReceiveQuota.ToString().Split('(')[1].Split(' ')[0].Replace(',',''))}},
              # 提取ProhibitSendQuota的纯字节数值
              @{Name='ProhibitSendQuota'; Expression={[double]($_.ProhibitSendQuota.ToString().Split('(')[1].Split(' ')[0].Replace(',',''))}},
              # 计算可用空间占比
              @{Name='FreeSpace %'; Expression={
                  # 排除配额无限制的情况,避免计算错误
                  if ($_.ProhibitsendReceiveQuota -ne $null -and $_.ProhibitsendReceiveQuota.ToString() -notmatch 'Unlimited') {
                      $totalQuotaBytes = [double]($_.ProhibitsendReceiveQuota.ToString().Split('(')[1].Split(' ')[0].Replace(',',''))
                      # 计算百分比并保留两位小数
                      [math]::Round(($_.FreeSpace / $totalQuotaBytes) * 100, 2)
                  } else {
                      'Unlimited'
                  }
              }} |
# 导出到CSV文件,替换成你实际需要的路径
Export-Csv -Path "C:\MailboxReports\MailboxUsage.csv" -NoTypeInformation -Encoding UTF8

核心逻辑说明

  • 纯字节转换:针对像2.784 GB (2,988,883,006 bytes)这种格式的字符串,先按(拆分取后半段,再按空格拆分取第一个元素(带逗号的字节数),最后去掉逗号转成数值类型,就得到纯字节数了
  • 可用空间占比:
    • 先判断邮箱配额是不是无限制,要是无限制就直接返回Unlimited,防止出现除以零的错误
    • 用FreeSpace(已为纯字节)除以总配额的字节数,乘以100后用[math]::Round保留两位小数,得到百分比

注意点

  • 执行脚本的账号必须有Exchange的管理权限
  • 记得把导出路径C:\MailboxReports\MailboxUsage.csv改成你自己的路径
  • 要是有些邮箱设置了无限制配额,对应的FreeSpace %列会显示Unlimited

内容的提问来源于stack exchange,提问作者Aviad Ofek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 10:05:28