angle-left

Удаление базы данных Exchange по умолчанию с сохранением системных почтовых ящиков

Exchange 2013/2016 использует некоторое количество системных и служебных почтовых ящиков которые не позволят удалить базу данных почтовых ящиков, ранее используемую по умолчанию. А Get-mailbox без дополнительных аргументов не вернёт объекты этих почтовых ящиков для миграции. 

Попытка удаления без переноса системных и служебных почтовых ящиков завершится ошибкой

This mailbox database contains one or more mailboxes, mailbox plans, archive mailboxes, public folder mailboxes or arbitration mailboxes, Audit mailboxes. To get a list of all mailboxes in this database, run the command Get-Mailbox -Database <Database ID>. To get a list of all mailbox plans in this database, run the command Get-MailboxPlan. To get a list of archive mailboxes in this database, run the command Get-Mailbox -Database <Database ID> -Archive. To get a list of all public folder mailboxes in this database, run the command Get-Mailbox -Database <Database ID> -PublicFolder. To get a list of all arbitration mailboxes in this database, run the command Get-Mailbox -Database <Database ID> -Arbitration. To get a list of all Audit mailboxes in this database, run the command Get-Mailbox -Database <Database ID> -AuditLog. To disable a non-arbitration mailbox so that you can delete the mailbox database, run the command Disable-Mailbox <Mailbox ID>. To disable an archive mailbox so you can delete the mailbox database, run the command Disable-Mailbox <Mailbox ID> -Archive. To disable a public folder mailbox so that you can delete the mailbox database, run the command Disable-Mailbox <Mailbox ID> -PublicFolder. To disable a Audit mailbox so that you can delete the mailbox database, run the command Get-Mailbox -AuditLog | Disable-Mailbox. Arbitration mailboxes should be moved to another server; to do this, run the command New-MoveRequest <parameters>. If this is the last server in the organization, run the command Disable-Mailbox <Mailbox ID> -Arbitration -DisableLastArbitrationMailboxAllowed to disable the arbitration mailbox. Mailbox plans should be moved to another server; to do this, run the command Set-MailboxPlan <MailboxPlan ID> -Database <Database ID>.

 

В заметке, в режиме quick how-to, покажу как сохранить системные почтовые ящики в инфраструктуре смигрировав их, и удалить старую базу почтовых ящиков по умолчанию.

В примерах используется старая база данных почтовых ящиков по умолчанию с именем OldDefaultMailboxDatabase, и новая, целевая, NewDefaultMailboxDatabase.

Последовательность действий

  1. Arbitration Mailbox
    Name                      Alias                ServerName       ProhibitSendQuota
    ----                      -----                ----------       -----------------
    SystemMailbox{1f05a927... SystemMailbox{1f0... mailserver01     Unlimited
    SystemMailbox{e0dc1c29... SystemMailbox{e0d... mailserver01     Unlimited
    Migration.8f3e7716-201... Migration.8f3e771... mailserver01     300 MB (314,572,800 bytes)
    FederatedEmail.4c1f4d8... FederatedEmail.4c... mailserver01     1 MB (1,048,576 bytes)

    Мигрируем Arbitration Mailbox'es коммандлетом New-MoveRequest  в новую базу 

    [PS] C:\Windows\system32>Get-MailboxDatabase "OldDefaultMailboxDatabase"|Get-Mailbox -Arbitration |New-MoveRequest -TargetDatabase NewDefaultMailboxDatabase
  2. Monitoring Mailbox
     
    Name                      Alias                ServerName       ProhibitSendQuota
    ----                      -----                ----------       -----------------
    HealthMailbox1b1d64c00... HealthMailbox1b1d... mailserver       Unlimited
    HealthMailbox41e52b612... HealthMailbox41e5... mailserver       Unlimited
    HealthMailbox44fabea45... HealthMailbox44fa... mailserver       Unlimited
    HealthMailboxfd642239d... HealthMailboxfd64... mailserver       Unlimited

    Мигрируем Monitoring mailbox'es коммандлетом New-MoveRequest в новую базу

  3. Auditlog
     

    [PS] C:\Windows\system32>Get-Mailbox -Database "OldDefaultMailboxDatabase" -Auditlog|New-MoveRequest -TargetDatabase Mailbox2016Database
    
    DisplayName                                         StatusDetail        TotalMailboxSize TotalArchiveSize PercentComple
                                                                                                              te
    -----------                                         ------------        ---------------- ---------------- -------------
    SystemMailbox{8cc370d3-822a-4ab8-a926-bb94bd0641a9} WaitingForJobPickup 0 B (0 bytes)                     0

     

  4. Удаляем базу данных почтовых ящиков
     

    Remove-MailboxDatabase -Identity "OldDefaultMailboxDatabase"

     

  5. Удаляем физически с файловой системы
     

    The specified database has been removed. You must remove the database file located in C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\OldDefaultMailboxDatabase\OldDefaultMailboxDatabase.edb from your computer manually if it exists. Specified database: OldDefaultMailboxDatabase