Я использую Powershell для управления электронной почтой в Outlook:

# Connect
$Outlook = New-Object -ComObject Outlook.Application
# Select the "TDD" subfolder from my mailbox
$EmailsInFolder = $Outlook.Session.Folders.Item(5).Folders.Item("Inbox").Folders.Item("TDD").Items
$EmailsInFolder.count

Это не дает мне доступ ко всей моей почте, только некоторые из самых последних пунктов.

Когда я просматриваю электронные письма в Outlook, я вижу текст «В этой папке больше элементов на сервере - нажмите здесь, чтобы узнать больше о Microsoft Exchange». Нажав на это, вы увидите полный набор писем.

Как мне сказать моему скрипту Powershell получить элементы с сервера?

1 ответ1

1

Вы не можете сделать это так, как вы пытаетесь. У вас включен режим кэширования Exchange, и объектная модель Outlook работает только с кэшированными элементами. Чтобы получить все элементы, вы должны либо отключить режим кэширования для своей учетной записи, либо увеличить период кэширования до "Все".

Однако существует коммерческий продукт, который обеспечивает поддержку командной строки и имеет возможность получать все элементы с сервера.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .