我需要将邮箱大小和存档大小导出到同一个 csv 文件。
我知道导出我需要使用的邮箱大小获取邮箱 | 获取邮箱统计信息 | 选择对象显示名称,总项目大小 | 导出 csv .\filename.csv
要获取档案大小我需要使用 获取邮箱 | 获取邮箱统计信息 -archive | 选择对象总项目大小 | 导出 csv .\filename.csv
我需要知道如何在这两个命令之间进行区分。
提前谢谢您,Avraham。
答案1
我认为哈希表就是你想要的
https://technet.microsoft.com/en-us/library/ee692803.aspx
基本上你定义一个表,例如:MailboxName,ActiveSize,ArchiveSize
创建一个循环,从 $There 获取 $This 值。从 $Here 获取 $That
重复上述步骤
编辑:我还没有测试过,但应该给出基本的想法
$objTABLE = @()
ForEach ($iMailbox in (Get-Mailbox -ResultSize "Unlimited"))
{
$objTABLE += New-Object psobject -Property @{MailboxName=$(Get-Mailbox -Idendity $iMailbox | Select DisplayName); ActiveSize=$(Get-MailboxStatistics -Idendity $iMailbox | select totalitemsize); ArchiveSize=$(Get-MailboxStatistics -Archive | select-object totalitemsize)}
}
$objTABLE | Out-GridView
答案2
谢谢你的回答,它对我生成我需要的报告有一点帮助。
这是我需要的报告:
$Mailboxes = @(get-Mailbox)
$report = @()
foreach ($Mailbox in $Mailboxes)
{
$mailboxonly = Get-Mailbox $Mailbox
$mailboxstate = Get-Mailbox $Mailbox | Get-MailboxStatistics
$mailboxstateA = Get-Mailbox $Mailbox | Get-MailboxStatistics -archive
$inpObj = New-Object PSObject
$inpObj | Add-Member -MemberType NoteProperty -Name "Display Name" -Value $mailboxstate.DisplayName
$inpObj | Add-Member -MemberType NoteProperty -Name "PrimarySmtpAddress" -Value $mailboxonly.PrimarySmtpAddress
$inpObj | Add-Member -MemberType NoteProperty -Name "Database" -Value $mailboxstate.Database
$inpObj | Add-Member -MemberType NoteProperty -Name "MailboxSize" -Value $mailboxstate.totalitemsize
$inpObj | Add-Member -MemberType NoteProperty -Name "ArchiveDatabase" -Value $mailboxonly.ArchiveDatabase
$inpObj | Add-Member -MemberType NoteProperty -Name "ArchiveSizeenter image description here" -Value $mailboxstateA.TotalItemSize
$report += $inpObj
}
$report
谢谢您的帮助!