我们有一个包含大量邮箱的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#也是可能的)
答案 0 :(得分:1)
我看到了几个可能性。
使用export-mailbox将您要删除的文件夹中的所有电子邮件导出到要保留的文件夹中。
使用Exchange Web服务(通过EWS托管API)将项目从要删除的文件夹移动到要保留的文件夹。