2009-12-23 94 views
1

通過PowerShell使用COM訪問,我想從Outlook文件夾項中檢索某些屬性。該文件夾是一個共享的Exchange文件夾,已在脫機模式下進行了同步,並且Outlook處於脫機狀態(應該無法訪問服務器)。我用這個查詢,其中$ PT是MAPIFolder迭代Outlook電子郵件很慢

$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 +展望咀嚼所有CPU資源。通過觀察輸出速度,它看起來輸出一打,然後失速,然後輸出,失速,和噁心

如何加速?我的最終目標是將其導入到某種SQL中,因此導出爲CSV。

+0

您是否找到解決方案? – Zubair 2018-03-06 11:23:55

回答

2

您是否想過要查詢搜索索引?它已經包含了所有項目的大部分屬性,速度非常快,並且知道如何在空閒/ CPU保存模式下工作。有一個簡單的API來查詢它,你可以將結果導出到CSV或DB。只是一個想法。

+0

Outlook的索引是非常有選擇性的 - 它並沒有索引這個特定的文件夾出於某種原因:( – Konrads 2009-12-23 10:39:40

+0

該文件夾有什麼特別之處?也許你可以明確地包含它。 – 2009-12-23 17:54:41