Назад | Перейти на главную страницу

Использование Powershell для архивирования почтовых ящиков до определенной даты

У нас есть отдельное устройство архивирования, которое архивирует сообщения по мере их поступления с использованием учетной записи журнала. Перед этим мне пришлось бы вручную заархивировать каждый почтовый ящик в файл PST, а затем сохранить файл на нашем сервере хранения. К счастью, мне больше не нужно этого делать.

У меня вопрос: можно ли, используя Powershell, войти в каждый (или все сразу) почтовый ящик и удалить сообщения электронной почты до определенной даты? Это избавит меня от необходимости архивировать каждый почтовый ящик в файл PST, даже если я смогу удалить этот файл позже. Я не хочу трогать элементы календаря, только элементы почты (папки и подпапки).

Если у вас есть Exchange Server 2007 SP1, вы можете использовать Export-Mailbox командлет с -DeleteContent flag и без цели, чтобы просто удалить в электронную почту элементы, которые в противном случае были бы экспортированы:

Get-Mailbox | Export-Mailbox -EndDate (Get-Date).AddDays(-90) -DeleteContent

В этом примере будут удалены все элементы во всех папках, созданные ранее 90 дней назад. У вас должны быть права полного доступа к каждому почтовому ящику, с которым вы выполняете эту операцию.

Чтобы исключить определенные папки, такие как Контакты или Календарь, используйте -ExcludeFolders флаг, например:

Export-Mailbox -ExcludeFolders "\Contacts","\Calendar" -DeleteContent