我在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
搜索范围。例如,文件夹的文件夹路径。它 建议将文件夹路径括在单引号中。 否则,如果文件夹,搜索可能不会返回正确的结果 path包含特殊字符,包括Unicode字符。至 指定多个文件夹路径,将每个文件夹路径括起来 引号并用逗号分隔单引号文件夹路径。
如何搜索已删除的电子邮件,已发送的电子邮件或存档? 你有找到范围的解决方案吗?当我尝试将folderpath放在范围内时,它不起作用。
其他问题,是否有可能看到研究何时完成?
答案 0 :(得分:2)
whouaaaa我找到了答案!! 谢谢你的暗示sodawillow!
对于带有folderpath的范围 双引号和单引号:
"' \ xx@xx.com \已删除的项目'"。可以与pst文件中的存档一起使用:)
答案 1 :(得分:1)
像“匹配”一样工作 小心并测试出现,*不解释
$ Term ='测试' $ Scope ='收件箱'
$ Outlook = New-Object -ComObject Outlook.Application $ Emails = $ Outlook.AdvancedSearch($ Scope,“urn:schemas:httpmail:subject LIKE'%$ Term%'”,$ true)
Start-Sleep -Seconds 10
$ Emails.Results |选择对象 - 属性主题