Как удалить или переименовать почтовую базу по умолчанию в Exchange Server?

При установке нового Exchange Server 2019/2016/2013/2010 с ролью почтовых ящиков (mailbox) автоматически создается база по умолчанию. База создается в каталоге установки Exchange (C:\Program Files\Microsoft\Exchange Server\V15\Mailbox). Имя базы данных генерируется также автоматически (в моем случае это «Mailbox Database 1200388344»). Если вы попробуете удалить почтовую базу по умолчанию, вы столкнетесь с ошибкой “ This mailbox database contains one or more mailboxes ”. Дело в том, что в этой почтовой базе хранится ряд системных почтовых ящиков, которые необходимы для работы Exchange.

This mailbox database contains one or more mailboxes, mailbox plans, archive mailboxes, public folder mailboxes or arbitration 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 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. 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>.

ошибка удаления базы данных по умолчанию в Exchange

Как переименовать и перенести почтовую базу по умолчанию в Exchange Server?

Сначала нужно определить имя базы данных, путь к файлу EDB и логам. Запустите консоль Exchange Management Shell (EMS) или подключитесь к своему Exchange Server удаленно с помощью PowerShell:

Get-MailboxDatabase -server mbx3.winitpro.ru| fl Name, EdbFilePath, LogFolderPath

Чтобы изменить имя базы, воспользуйтесь командлетом Set-MailboxDatabase (не обязательно отмонтировать базу):

Set-MailboxDatabase “Mailbox Database 1200388344” -Name MBX3-01

Также вы можете переименовать базу данных из графического интерфейса Exchange Admin Center.

Exchange по умолчанию помещает базу данных на системный диск (C:\). Обязательно перенесите файлы базы данных на другой диск. Благодаря этому рост размена edb файла и лог файлов почтовой базы Exchange не займет все свободное место на системном диске Windows.

Для переноса базы данных используется PowerShell командлет Move-DatabasePath. Сначала нужно отмонтировать базу:

Dismount-Database -Identity MBX3-01

Затем запустите перенос файлов базы данных и лог-файлов:

Move-DatabasePath MBX3-01 -EdbFilePath E:\DB\MBX3-01.edb -LogFolderPath E:\DB\ MBX3-01

После окончания переноса можно смонтировать базу:

Mount-Database -Identity MBX3-01

Удаляем базу данных по умолчанию в Exchange Server

Для удаления базы, требуется перенести все ящики пользователей и служебные ящики в другую базу данных. Командлет Get-Mailbox без дополнительных параметров не выводит системные и служебные ящики в базе. Для поиска арбитражных почтовых ящиков необходимо выполнить команду:

Get-Mailbox -Arbitration -Database "Mailbox Database 1200388344"

найти системные и службежные ящики в почтовой базе exchange

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

Set-ADServerSettings -ViewEntireForest $true

Теперь переместим эти ящики в другую базу:

Get-Mailbox -Arbitration -Database "Mailbox Database 1200388344" | New-MoveRequest -TargetDatabase MBX3-02

перенос ящиков из базы exchange

Кроме арбитражных ящиков в дефолтной почтовой базе также могут ящики пользователей, почтовый ящик администратора и Discovery Search Mailbox (используется для поиска писем в ящиках Exchange. Их тоже нужно переместить:

Get-Mailbox -Database "Mailbox Database 1200388344" | New-MoveRequest -TargetDatabase MBX3-02

перенос всех почтовых ящиков из базы exchange

Также в почтовой базе могут быть другие типы ящиков: Monitoring, Auditing (используется для хранения событий аудита о действиях пользователей в ящиках), архивные ящики, ящики общих папок. Последовательно проверьте, что в вашей базе нет этих ящиков:

$mbxdb="Mailbox Database 1200388344"
Get-Mailbox -Database $mbxdb -Auditlog
Get-MailBox -Database $mbxdb -Archive

Get-MailBox -Database $mbxdb -PublicFolder
Get-MailBox -Database $mbxdb -GroupMailbox
Get-MailBox -Database $mbxdb -Monitoring

При обнаружении таких ящиков их нужно переместить с помощью pipe: | New-MoveRequest -TargetDatabase MBX3-02 (ящик Monitoring можно отключить | Disable-Mailbox -Confirm:$false )

Проверьте, что в базе данных не осталось ящиков пользователей:

Get-Mailbox -Database "Mailbox Database 1200388344"

В почтовой базе данных могут хранится удаленные ящики отключенных пользователей. Их список можно получить так:

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

После удаления базы эти ящики нельзя будет восстановить.

Проверьте, что процесс переноса закончился успешно (статус Completed):

Get-MoveRequest | Get-MoveRequestStatistics

Get-MoveRequest | Get-MoveRequestStatistics статус переноса ящиков между базами

После завершения переноса обязательно очистите очередь миграции:

Get-MoveRequest | Remove-MoveRequest

Теперь почтовую базу данных по умолчанию можно удалить:

Remove-MailboxDatabase "Mailbox Database 1200388344"

Remove-MailboxDatabase удалить базу данных exchange

После этого вручную удалите каталог с базой данных с диска:

Remove-Item -LiteralPath "C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Mailbox Database 1200388344" -Force -Recurse


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


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

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

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

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