Срок хранения по умолчанию для удаленных элементов (которые можно восстановить с помощью функции «Восстановить удаленные элементы» в 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" }