导出的CSV文件中缺少选定的邮箱信息

时间:2016-08-15 07:45:38

标签: csv powershell exchange-server

我一直在尝试使用Export-Csv将一些邮箱统计信息导出到Excel。这是我提出的剧本,但现在我走到了尽头:

Get-Mailbox |
    select DisplayName, Alias, Database, TotalItemSize, ItemCount,
           StorageLimitStatus, IssueWarningQuota, ProhibitSendQuota |
    Export-Csv c:\xyz.csv

我遇到的问题是它会将除TotalItemSizeItemCountStorageLimitStatus之外的所有内容导出到.csv文件中。我不知道问题所在。

1 个答案:

答案 0 :(得分:2)

Get-Mailbox返回的对象不包含您尝试选择的属性。如果运行以下命令,您将看到Get-Mailbox可以返回的所有可用属性的列表。

Get-Mailbox | Get-Member -MemberType Properties

您需要使用Get-MailboxStatistics来获取这些属性:

Get-Mailbox "Your.Mailbox" | Get-MailboxStatistics |
    Select TotalItemSize, ItemCount, StorageLimitStatus

要将所有属性放入csv文件,您可以创建自定义对象并导出:

Get-mailbox "Your.Mailbox" | %{
    $mb = $_
    $stats = $mb | Get-MailboxStatistics | Select TotalItemSize,ItemCount,StorageLimitStatus

    $Properties = @{ 
          DisplayName = $mb.DisplayName 
          Alias = $mb.Alias
          Database = $mb.Database
          IssueWarningQuota = $mb.IssueWarningQuota
          ProhibitSendQuota=$mb.ProhibitSendQuota
          TotalItemSize=$stats.TotalItemSize
          ItemCount=$stats.ItemCount
          StorageLimitStatus=$stats.StorageLimitStatus
    }

    New-Object psobject -Property $properties
} | Export-Csv c:\xyz.csv