我目前正在进行一些大规模数据库清理。我们有两个数据库,大小都接近 400GB,我想将数据库拆分成不同的部门。
为此,我需要知道 OU 内邮箱的总大小。我运行了以下命令:https://stackoverflow.com/questions/9796101/exchange-listing-mailboxes-in-an-ou-with-their-mailbox-size但这只给了我一个列表,我需要一个组合的totalitemsize才能知道我需要多大的新数据库。
谢谢
答案1
get-mailbox -OrganizationalUnit "OU=Users,DC=yourdomain,DC=local" | Get-MailboxStatistics | Select @{Name="Size";Expression={$_.TotalItemSize.Value.ToMB()}} | Measure Size -Sum -Min -Max -Average
似乎对我有用。
答案2
在 Exchange 命令行管理程序中,您可以执行以下操作:
$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)
这对你来说怎么样?
答案3
尝试这个:
$totalsize = 0
$mbxs = Get-Mailbox -OrganizationalUnit "yourOU"
$mbxs | Foreach-Object { $totalsize += (Get-MailboxStatistics $_).TotalItemSize.value.tobytes() }
$totalsize
$totalsize/1GB
答案4
问题是,Get-MailboxStatistics 输出的只是一个显示名称 - 不是唯一的,不能真正用作显示名称。您需要的另一半信息在 Get-Mailbox 中:- 在以下链接中找到答案。一旦您拥有所有邮箱的数据,并且输出可以导入到 excel 中,您就可以进行所有排序等,并删除您不想要的任何内容
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"