У нас есть сервер Exchange 2007 с большим количеством почтовых ящиков. Мы привыкли использовать много папок и оставлять сообщения в этих подпапках. Мне нужен список с почтовыми ящиками и общим размером почтового ящика, количеством элементов и количеством папок, поэтому я написал следующий скрипт.
Get-MailboxStatistics | where {$_.ObjectClass –eq “Mailbox”} | Sort-Object TotalItemSize –Descending | Foreach-Object{
$mbx = $_
$count = 0
$mbx | Get-MailboxFolderStatistics | Foreach-Object{ $count++ }
$mbx | Select-Object @{label='DisplayName';expression={$mbx.DisplayName}}, @{label='Total Size (MB)';expression={$mbx.TotalItemSize.Value.ToMB()}},@{label='Items';expression={$mbx.ItemCount}}, @{label='Folders';expression={$count}}
} > c:\mailboxes.txt
Это прекрасно работает, но мы хотим ограничить количество папок в обмене до 10 подпапок (например). Интересно, есть ли решение для перемещения сообщений из всех папок в 1 подпапку и удаления пустых папок.
Есть ли у кого-нибудь решение для powershell (также возможен c #)