Я пытаюсь собрать небольшой скрипт, который находит все электронные письма в поле 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. Если учетная запись связана с вами через расширенные параметры вашей личной учетной записи, поиск не повторяется. Если поле Org было добавлено в качестве дополнительной учетной записи электронной почты через диалоговое окно «Добавить учетную запись», рекурсия работает просто отлично. Если бы я был единственным, кто использовал это, я мог бы просто изменить способ настройки учетной записи, но поскольку другие люди также должны использовать его, это не самое идеальное решение. Пока я буду работать с ним, пока не будет найдено решение для учетных записей, настроенных другим способом.