powershell - Powershell - Outlook 高级搜索不通过组织框递归
问题描述
我正在尝试编写一个小脚本,以查找组织框中与给定搜索词匹配的所有电子邮件并显示每个结果的完整路径。虽然我在我的个人收件箱中工作并通过所有子文件夹递归,但当我尝试在 Org 框上使用它时,它只搜索当前目录并且不递归。
使用 Org 框时我是否缺少一些独特的东西?
$OL = New-Object -ComObject Outlook.Application
$NS = $OL.GetNameSpace('MAPI')
$MB = $NS.createRecipient('SomeOrgBox@mail.com')
if ($MB.Resolve) {
$Inbox = $NS.GetSharedDefaultFolder($MB,[Microsoft.Office.Interop.Outlook.OlDefaultFolders]::olFolderInbox)
} else {
Write-Warning "Unable to access inbox
"
pause
exit
}
Register-ObjectEvent -InputObject $OL -EventName "AdvancedSearchComplete" - Action {
if ($Args.Results) {
Write-Host " - Results -
"
Foreach ($Result in $Args.Results) {
Write-Host $Result.Subject
Write-Host $Result.Parent.FolderPath
}
Write-Host ""
Write-Host " - End of results -"
} else {
Write-Host " - No Results found -"
}
Write-Host ""
}
Function Search-Inbox {
$Search = $OL.AdvancedSearch("'"+$Inbox+"'", "urn:schemas:httpmail:subject like '%"+$Query+"%'", $true)
}
$Query = Read-Host " Enter Search Term "
Search-Inbox
编辑:澄清一下,这将在 Windows 机器上使用,第三方工具不是一个选项。
此外,经过一些测试,似乎将 Org 框添加到 Outlook 中的方式在此问题中发挥了作用。如果该帐户通过您的个人帐户的高级选项与您关联,则搜索不会递归。如果通过“添加帐户”对话框递归将组织框添加为附加电子邮件帐户,则可以正常工作。如果我是唯一一个使用它的人,我可以更改我设置帐户的方式,但由于其他人也必须使用它,这不是最理想的解决方案。现在,我将继续使用它,直到找到以其他方式设置的帐户的解决方案。
解决方案
推荐阅读
- r - 从 R 中的唯一大列表对象创建新文本文件
- hibernate - Hibernate StaleObjectStateException 问题调用合并
- android - android:navigationBarDividerColor 需要 API 级别 28
- javascript - 关闭 Glide.js 轮播上的拖动
- javascript - WebSockets 在本地主机上工作,但在远程 Ubuntu 主机上不工作
- scala - Akka Streams - 了解物化何时以及如何工作
- jwplayer - 如何从 JWPlayer 获取#EXT-X-PROGRAM-DATE-TIME
- zooming - 升级到 v4.6.5 后不显示 Shift-zoom 边框
- java - 如何在 Spring 数据中读取 JSON 字符串并写入数据库 MySql
- elixir - Elixir/Phoenix/Guardian - 在 conn 中分配 current_user 不适用于测试