用于将邮件从x文件夹移动到Exchange邮箱中的1个文件夹的脚本

时间:2011-05-24 07:24:05

标签: powershell directory exchange-server

我们有一个包含大量邮箱的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 个答案:

答案 0 :(得分:1)

我看到了几个可能性。

  1. 使用export-mailbox将您要删除的文件夹中的所有电子邮件导出到要保留的文件夹中。

  2. 使用Exchange Web服务(通过EWS托管API)将项目从要删除的文件夹移动到要保留的文件夹。