我正在做一些大规模的数据库清理。 我们有两个数据库都接近400GB,我想把数据库分成不同的部门。
为此,我需要知道OU中邮箱的总大小。 我已经运行这个: https : //stackoverflow.com/questions/9796101/exchange-listing-mailboxes-in-an-ou-with-their-mailbox-size但这只给了我一个清单,我需要一个totalitemsize所以知道我需要新的DB有多大。
谢谢
get-mailbox -OrganizationalUnit "OU=Users,DC=yourdomain,DC=local" | Get-MailboxStatistics | Select @{Name="Size";Expression={$_.TotalItemSize.Value.ToMB()}} | Measure Size -Sum -Min -Max -Average
似乎为我工作。
在交换pipe理shell中,你可以这样做:
$totalsize = 0 $mbxs = Get-Mailbox -OrganizationalUnit "OU=Users,DC=yourdomain,DC=local" $mbxs | Foreach-Object { $totalsize += (Get-MailboxStatistics $_).TotalItemSize } $totalsize
在我的组织中,这个报告是:
IsUnlimited Value ----------- ----- False 11.29 GB (12,121,419,924 bytes)
这对你怎么样?
尝试这个:
$totalsize = 0 $mbxs = Get-Mailbox -OrganizationalUnit "yourOU" $mbxs | Foreach-Object { $totalsize += (Get-MailboxStatistics $_).TotalItemSize.value.tobytes() } $totalsize $totalsize/1GB
问题是,Get-MailboxStatistics仅输出一个显示名称 – 不是唯一的,因此不能真正使用。 您需要的另一半信息在Get-Mailbox中: – 在以下链接中find答案。 一旦你有所有的邮箱的数据,输出可以导入到Excel中,你可以做所有的sorting等,删除任何你不想要的
http://www.experts-exchange.com/Software/Server_Software/Email_Servers/Exchange/Q_27828458.html
$Mailboxes = Get-Mailbox -ResultSize Unlimited foreach ($Mailbox in $Mailboxes) { $Mailbox | Add-Member -MemberType "NoteProperty" -Name "MailboxSizeMB" -Value ((Get-MailboxStatistics $Mailbox).TotalItemSize.Value.ToMb()) } $Mailboxes | Sort-Object MailboxSizeMB -Desc | Select PrimarySMTPAddress, MailboxSizeMB #REM - to export this out -- do the following ;) enjoy (see the part where it says "Select" you can add additional fields like ALIAS etc to this) $Mailboxes = Get-Mailbox -ResultSize Unlimited foreach ($Mailbox in $Mailboxes) { $Mailbox | Add-Member -MemberType "NoteProperty" -Name "MailboxSizeMB" -Value ((Get-MailboxStatistics $Mailbox).TotalItemSize.Value.ToMb()) } $Mailboxes | Sort-Object MailboxSizeMB -Desc | Select PrimarySMTPAddress, MailboxSizeMB | Export-Csv -NoType "C:\temp\Mailboxessize.csv"