迭代Outlook电子邮件非常慢

时间:2009-12-23 07:43:06

标签: powershell outlook

通过PowerShell使用COM访问,我想从Outlook文件夹项中检索某些属性。该文件夹是一个共享的Exchange文件夹,已在脱机模式下同步,并且Outlook处于脱机状态(应该没有服务器访问权限)。我使用此查询,其中$ pt是MAPIFolder

$ol = new-object -comobject "Outlook.Application"
$mapi = $ol.getnamespace("mapi")
$inbox = $mapi.Folder /* skipped*/
$pt.items|select-object Subject, Sendername,  SentOn,Recipients,ConversationIndex,ConversationTopic,CC,Bcc,ReceivedTime|export-csv -path pentest.csv -noTypeInformation

该文件夹有几千个条目,此查询无法在一夜之间完成,PowerShell + Outlook会咀嚼所有CPU资源。通过观察输出速度,它似乎输出十几个随后停止,然后输出,停止, ad恶心

如何加快速度?我的最终目标是将其导入某种SQL,因此导出为CSV。

1 个答案:

答案 0 :(得分:2)

您是否考虑过查询搜索索引?它已经包含了所有项目的大多数属性,速度非常快,并且知道如何在idle / cpu-conserving模式下工作。有一个简单的API可以查询它,您可以将结果导出到CSV或DB。只是一个想法。