Управление отключенными ящиками в Exchange

При удалении почтового ящика Exchange или удалении учетной записи пользователя в Active Directory, почтовый ящик сразу не удаляется, продолжая храниться в почтовой базе определенное время (по умолчанию 30 дней), в течении которого администратор может восстановить данные из ящика или переназначить его другому пользователю. В этой статье мы поговорим о типах удаленных ящиков, способах управления и восстановления таких ящиков в Exchange.

Что происходит с ящиком Exchange после его удаления

Почтовый ящик Exchange состоит из двух частей: учетной записи пользователя в Active Directory (в атрибутах которой хранится конфигурационные данные ящика) и самого ящика в почтовой базе Exchange. Удаленный ящик Exchange (наверно, более правильно говорить отключенный) представляет собой ящик, хранящийся в базе, но не связанный ни с одной учетной записью в AD. Есть два типа удаленных ящиков Exchange:

  • Disabled– ящики, отключенные с помощью командлетов Disable-Mailbox или Remove-Mailbox (первый командлет отключает ящик от учетки, второй – еще и удаляет учетную запись в AD)
  • Soft Deleted– копии ящиков, которые сохраняются в хранилище после перемещения ящика в другую почтовую базу. Тем самым обеспечивается дополнительная защита данных от проблем, который могут возникнуть в процессе или после переноса ящика в другую базу.

Оба типа удаленных ящиков хранятся в базе Exchange до истечения срока хранения, заданного администратором. Время, после которого ящик удаляется, указывается в настройках каждой базы Exchange на вкладке Limits -> Keep deleted mailboxes for days (скриншоты для Exchange 2013 и Exchange 2010).

Keep deleted mailboxes for days - Exchange 2013 / 2010Чтобы вывести список всех имеющихся отключенных ящиков во всех базах организации, выполните команду:

Get-MailboxDatabase | Get-MailboxStatistics | Where { $_.DisconnectReason -eq "Disabled" } | ft DisplayName,Database,DisconnectDate,MailboxGUID

Если нужно найти удаленные ящики в одной базе:

Get-MailboxStatistics –database Msk-DB1 | Where { $_.DisconnectReason -eq "Disabled" } | ft DisplayName,Database,DisconnectDate,MailboxGUID

Список удаленных ящиков со статусом SoftDeleted можно получить командой:

Get-MailboxDatabase | Get-MailboxStatistics | Where { $_.DisconnectReason -eq "SoftDeleted" } | ft DisplayName,Database,DisconnectDate,MailboxGUID

список удаленых ящиков в базе Exchange

Очистка баз Exchange от удаленных ящиков

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

Чтобы окончательно удалить из базы конкретный отключенный ящик (без возможности его восстановления), нужно воспользоваться командлетом RemoveStoreMailbox, указав MailboxGUID удаленного ящика.

Remove-StoreMailbox -Database Msk-DB1  -Identity "2532944e-8eeb-4c7e-8bd3-ee2a223b071e" -MailboxState Disabled
Remove-StoreMailbox

Чтобы удалить все отключенные ящики в организации:

Get-MailboxDatabase | Get-MailboxStatistics | where {$_.DisconnectReason -eq "Disabled"} | foreach {Remove-StoreMailbox -Database $_.database -Identity $_.mailboxguid -MailboxState SoftDeleted}

Если нужно удалить оставшиеся после переноса копии ящиков в определенной базе, выполните команду:

Get-MailboxStatistics –Database Msk-DB1  | Where-Object {$_.DisconnectReason –eq “Softdeleted”} | ForEach {Remove-StoreMailbox –Database $_.database –identity $_.mailboxguid –MailboxState Softdeleted –Whatif}

Подключение удаленного ящика пользователю

Отключенный ящик можно переподключить к той же или другой учетной записи пользователя Active Directory (естественно, учетка должна быть без ящика). Чтобы переподключить ящик к тому же аккаунту, выполните команду:

Connect-Mailbox -Identity "AAndreev" -Database Msk-DB1  -User AAndreev

Эту же операцию можно выполнить из интерфейса EAC: Exchange Admin Center -> Recipients -> Connect a Mailbox.

Подключить удаленный ящик пользватели из Exchange Control Panel

Совет. Не забудьте проверить и поправить, если нужно SMTP алиасы. И, прежде, чем начать пользоваться ящиком, дождитесь окончания репликации Active Directory

Восстановление удаленного ящика в ящик другого пользователя

Данные из удаленного ящика можно восстановить в имеющийся ящик другого пользователя с помощью командлета New-MailboxRestoreRequest (мы показывали, как использовать этот командлет в статье о восстановлении ящиков в Exchange):

New-MailboxRestoreRequest -SourceDatabase Msk-DB1  -SourceStoreMailbox "AAndreev" -TargetMailbox "Admin"

Либо можно восстановить ящик по его MailboxGuid, к примеру в отдельную папку RestoreBox:

New-MailboxRestoreRequest -SourceDatabase Msk-DB1 -SourceStoreMailbox “2532944e-8eeb-4c7e-8bd3-ee2a223b071e” -TargetMailbox “Admin” –TargetRootFolder “RestoreBox” –AllowLegacyDNMismatch


Предыдущая статья Следующая статья


Комментариев: 20 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)