2011-05-24 51 views
1

我们有一个包含大量邮箱的Exchange 2007服务器。我们习惯于使用大量的文件夹并在这些子文件夹中放置消息。我想要一个包含邮箱的列表和邮箱的总大小,itemcount和文件夹的数量,所以我写了下面的脚本。将邮件从x文件夹移动到交换邮箱中的1个文件夹的脚本

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#也可以)

+0

所以,问题是关于移动消息和不计算文件夹,是不是? – 2011-05-24 10:36:15

+0

的确,我改变了问题的名称 – 2011-05-24 11:11:48

回答

1

我看到一对夫妇possibilites的。

  1. 使用导出邮箱将要删除的文件夹中的所有电子邮件导出为您想要保留的文件夹。

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

相关问题