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

Как глобально установить срок хранения удаленных элементов в Exchange Online?

Срок хранения по умолчанию для удаленных элементов (которые можно восстановить с помощью функции «Восстановить удаленные элементы» в Outlook) составляет 14 дней, но его можно изменить; однако это параметр для каждого почтового ящика, и его необходимо изменить с помощью PowerShell, поскольку для него нет настройки графического интерфейса. Это достаточно просто сделать для всех существующих пользователей, но затем этот процесс нужно будет повторять каждый раз при создании нового пользователя.

Есть ли способ глобально установить дефолт срок хранения удаленных элементов в Exchange Online, чтобы он автоматически применялся к новым почтовым ящикам?

(Я помечаю вопрос Exchange-2013 тоже, поскольку на этом (в настоящее время) основан Exchange Online, и вопрос также относится к локальной версии.)

Я обратился в службу поддержки Microsoft, и они сказали мне, что это может не только быть сделано, но даже заказчик может сделать это без какого-либо обращения в службу поддержки.

Глобальная конфигурация срока хранения удаленных элементов хранится в планах почтовых ящиков, назначенных пользователям:

PS C:\windows\system32> Get-MailboxPlan | ft Name, RetainDeletedItemsFor

Name                                                          RetainDeletedItemsFor
----                                                          ---------------------
ExchangeOnlineDeskless-200f67ad-971f-4485-8df4-496cb337aaa0   14.00:00:00
ExchangeOnlineEnterprise-7d4dfcb8-b74f-4fbc-b154-008eba3ed7ab 14.00:00:00
ExchangeOnline-6562c5b9-cec6-4d6c-bbed-5cd1551877c7           14.00:00:00

Для его настройки вы можете использовать Set-MailboxPlan командлет:

Get-MailboxPlan | Set-MailboxPlan -RetainDeletedItemsFor "30.00:00:00"

После этого глобальные настройки будут изменены:

PS C:\windows\system32> Get-MailboxPlan | ft Name, RetainDeletedItemsFor

Name                                                          RetainDeletedItemsFor
----                                                          ---------------------
ExchangeOnlineDeskless-200f67ad-971f-4485-8df4-496cb337aaa0   30.00:00:00
ExchangeOnlineEnterprise-7d4dfcb8-b74f-4fbc-b154-008eba3ed7ab 30.00:00:00
ExchangeOnline-6562c5b9-cec6-4d6c-bbed-5cd1551877c7           30.00:00:00

Это применит настройки ко всем новым пользователям; однако вам все равно придется изменить его для существующих пользователей:

Get-Mailbox | Set-Mailbox -RetainDeletedItemsFor "30.00:00:00"

В дополнение к ответу @ massimo я столкнулся с проблемой:

Get-Mailbox | Set-Mailbox -RetainDeletedItemsFor "30.00:00:00",

с ошибкой:

Операция не может быть выполнена, потому что "имя пользователя'соответствует нескольким записям.

Это происходит потому, что Get-Mailbox командлет не передает объект почтового ящика в конвейер, но это значение, которое Set-Mailbox пытается выполнить сопоставление, и этот поиск иногда терпит неудачу, потому что он возвращает более одного почтового ящика. Решение - использовать уникальное поле, SamAccountName:

Get-Mailbox | % { Set-Mailbox -Identity $_.SamAccountName -RetainDeletedItemsFor "30.00:00:00" }