Управління відключеними ящиками в Exchange

При видаленні поштової скриньки Exchange або видалення облікового запису користувача в Active Directory, поштовий ящик відразу не видаляється, продовжуючи зберігатися в поштовій базі певний час (за замовчуванням 30 днів), протягом якого адміністратор може відновити дані з ящика або перепризначити його іншому користувачеві. У цій статті ми поговоримо про типи віддалених ящиків, способах управління і відновлення таких ящиків в Exchange.

зміст:

  • Що відбувається з ящиком Exchange після його видалення
  • Очищення баз 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).

Щоб вивести список усіх наявних відключених ящиків у всіх базах організації, виконайте команду:

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 автоматично очищає базу від відключених ящиків. Але відключені ящики продовжують займати місце в базі, тому при масових міграціях / перенесення / видаленні користувачів, буває необхідно примусово видворити такі ящики, звільнивши місце в поштових базах.

Щоб остаточно видалити з бази конкретний відключений ящик (без можливості його відновлення), потрібно скористатися Командлети Remove-StoreMailbox, вказавши MailboxGUID віддаленого ящика.

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

Щоб видалити всі відключені ящики в організації:

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.

Порада. Не забудьте перевірити і поправити, якщо потрібно 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