При видаленні поштової скриньки Exchange або видалення облікового запису користувача в Active Directory, поштовий ящик відразу не видаляється, продовжуючи зберігатися в поштовій базі певний час (за замовчуванням 30 днів), протягом якого адміністратор може відновити дані з ящика або перепризначити його іншому користувачеві. У цій статті ми поговоримо про типи віддалених ящиків, способах управління і відновлення таких ящиків в Exchange.
Що відбувається з ящиком Exchange після його видалення
Поштова скринька Exchange складається з двох частин: облікового запису користувача в Active Directory (в атрибутах якої зберігається конфігураційні дані ящика) і самого ящика в поштовій базі Exchange. Віддалений ящик Exchange (напевно, більш правильно говорити відключений) являє собою ящик, що зберігається в базі, але не пов'язаний ні з одним обліковим записом в AD. Є два типи віддалених скриньок Exchange:
Щоб вивести список усіх наявних відключених ящиків у всіх базах організації, виконайте команду: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-MailboxStatistics -Database Msk-DB1 | Where-Object | ForEach
Підключення віддаленого ящика користувачеві
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
«... буває необхідно примусово видворити такі ящики, звільнивши місце на дисках з поштовими базами ...»
Тут не погоджуся, тому що видаливши ящики з бази, її розмір залишиться незмінним. При видаленні ящика з бази, звільняється місце всередині бази, так зване White Space. При цьому вільне місце на диску залишається незмінним. Далі цей простір використовується при створенні нових скриньок і заповненні старих. Щоб звільнити місце на диску, можна виконати офлайнову дефрагментацію бази. Або створити нову базу, перемістити туди ящики, стару базу видалити. Розмір white space можна дізнатися так: Get-MailboxDatabase DB01 | ft Name, AvailableNewMailboxSpace.
Також нічого не сказано про те, що бувають випадки коли ящик не відразу позначається як відключений. В такому випадку необхідно виконувати команду Clean-MailboxDatabase, щоб просканувати базу на предмет відключених ящиків.
Дякую за доповнення!
Згоден, написав некоректно. При видаленні ящика розмір бази не зменшується. Але в час, що звільнився whitespace буде іпользовать для інших ящиків, і розмір файлу бази не буде якийсь час рости.