Скрипт для перемещения почты из x папок в 1 папку в почтовом ящике обмена - PullRequest
1 голос
/ 24 мая 2011

У нас есть сервер 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 #)

1 Ответ

1 голос
/ 24 мая 2011

Я вижу пару возможностей.

  1. Используйте export-mailbox для экспорта всей электронной почты из папок, которые вы хотите удалить, в ту, которую вы хотите сохранить.

  2. Используйте веб-службы Exchange (через управляемый API EWS), чтобы переместить элементы из папок, которые вы хотите удалить, в ту, которую вы хотите сохранить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...