簡體   English   中英

使用PowerShell搜索Outlook電子郵件

[英]Searching for Outlook emails with PowerShell

我在Outlook中搜索電子郵件時遇到問題。

這有效:

Add-Type -assembly "Microsoft.Office.Interop.Outlook"
$Outlook = New-Object -comobject Outlook.Application
$namespace = $Outlook.GetNameSpace("MAPI")
$e=$Outlook.AdvancedSearch("Inbox","urn:schemas:httpmail:subject='RECHERCHE QUI MARCHE'",$False,'test')
$e.results

給我結果好。

但是,如果我更改范圍,它將無法正常工作。

PS C:\Users\etarai> $e=$Outlook.AdvancedSearch('\\xx@xx.com\Éléments supprimés',"urn:schemas:httpmail:subject='RECHERCHE QUI MARCHE'",$False,'test')

其中“ \\\\ xx@xx.com \\Élémentssupprimés”是FolderPath。 在msdn中,作用域應該是帶有folderpath的字符串

范圍類型:System.String

搜索范圍。 例如,文件夾的文件夾路徑。 建議將文件夾路徑括在單引號中。 否則,如果文件夾路徑包含特殊字符(包括Unicode字符),則搜索可能不會返回正確的結果。 要指定多個文件夾路徑,請將每個文件夾路徑括在單引號中,並用逗號分隔單引號的文件夾路徑。

如何搜索已刪除的電子郵件,已發送的電子郵件或存檔? 您有找到范圍的解決方案嗎? 當我嘗試將folderpath放在作用域中時,它不起作用。

另一個問題,是否有可能看到研究何時完成?

我找到答案了! 感謝您的提示sodawillow!

對於具有folderpath雙引號和單引號的范圍:

“'\\ xx@xx.com \\已刪除的郵件'”。 可以與pst文件中的存檔一起使用:)

像“ -match”一樣工作小心並測試發生情況,*不解釋

$ Term ='測試'$ Scope ='收件箱'

$ Outlook =新對象-ComObject Outlook.Application $ Emails = $ Outlook.AdvancedSearch($ Scope,“ urn:schemas:httpmail:subject LIKE'%$ Term%'”,$ true)

開始睡眠-第二個10

$ Emails.Results | 選擇對象屬性主題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM