将邮件从x文件夹移动到交换邮箱中的1个文件夹的脚本

问题描述

|| 我们有一台Exchange 2007服务器,其中有很多邮箱。我们习惯于使用很多文件夹,并将消息放在此子文件夹中。我想要一个包含邮箱的列表以及邮箱的总大小,itemcount和文件夹的数量,因此我编写了以下脚本。
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#)     

解决方法

我看到了几种可能性。 使用导出邮箱将所有电子邮件从要删除的文件夹导出到要保留的电子邮件。 使用Exchange Web服务(通过EWS托管API)将项目从要删除的文件夹移动到要保留的文件夹。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...