Оглавление
Случилось так, что в организации было два сервера Exchange 2013. Почтовая база была перенесена на один из серверов, а другой подлежал удалению, как сделать это корректно?
Перевод Exchange в режим обслуживания maintenance mode
- Опустошаем почтовые очереди, что бы там ничего не было:
Set-ServerComponentState MAILSERVERNAME -Component HubTransport -State Draining -Requester Maintenance
2. Microsoft рекомендует сразу перезапускать службу транспорта что бы изменения вступили в силу:
Restart-Service MSExchangeTransport Restart-Service MSExchangeFrontEndTransport
3. Перенаправляем сообщения на другой сервер (обратите внимание, новый сервер пишем в формате FQDN с указанием домена!):
Redirect-Message -Server MAILSERVERNAME -Target NEW_MAILSERVERNAME.domen.com
Если сервер НЕ является участником DAG, вы можете перейти к шагу 8, в противном случае перейдем к части DAG.
4. Тормозим нужный узел DAG:
Suspend-ClusterNode MAILSERVERNAME
5. Перемещаем активные базы данных на другой узел:
Set-MailboxServer MAILSERVERNAME -DatabaseCopyActivationDisabledAndMoveNow $True
6. Смотрим статус DatabaseCopyAutoActivationPolicy:
Get-MailboxServer MAILSERVERNAME | Select DatabaseCopyAutoActivationPolicy
Если политика уже в статусе Blocked то к шагу 7
7. Запрещаем серверу размещать активные базы данных у себя:
Set-MailboxServer MAILSERVERNAME -DatabaseCopyAutoActivationPolicy Blocked
8. Перевод Exchange в режим обслуживания:
Set-ServerComponentState MAILSERVERNAME -Component ServerWideOffline -State Inactive -Requester Maintenance
Если что то пошло не так, смотрим дальше как вывести сервер из режима обслуживания. Если все окей, продолжаем дальше с “Проверка наличия почтовых ящиков пользователей”
Вывод сервера Exchange 2013 из режима обслуживания maintenance mode
Если ваш сервер не является членом DAG, выполняем шаги 1, 5 и 6.
1. Выводим сервер из режима обслуживания:
Set-ServerComponentState MAILSERVERNAME -Component ServerWideOffline -State Active -Requester Maintenance
2. Восстанавливаем узел в DAG:
Resume-ClusterNode MAILSERVERNAME
3. Разрешаем DatabaseCopyActivation:
Set-MailboxServer MAILSERVERNAME -DatabaseCopyActivationDisabledAndMoveNow $False
4. Возвращаем исходную настройку политики автоматической активации базы данных. Если ранее она была заблокирована, то оставляем ее таким же. Политика по умолчанию – Unrestricted:
Set-MailboxServer MAILSERVERNAME -DatabaseCopyAutoActivationPolicy Unrestricted
5. Оживляем транспорт сообщений:
Set-ServerComponentState MAILSERVERNAME -Component HubTransport -State Active -Requester Maintenance
6. Так же передергиваем службу транспорта что бы настройка сразу применилась:
Restart-Service MSExchangeTransport
Restart-Service MSExchangeFrontEndTransport
Если сервер был членом группы DAG, и вы переместили все активные копии с сервера, вы можете легко переместить их обратно в зависимости от предпочтений монтирования, запустив сценарий RedistributeActiveDatabases.ps1, предоставленный Microsoft:
C:\Program Files\Microsoft\Exchange Server\V15\Scripts> .\RedistributeActiveDatabases.ps1 -BalanceDbsByActivationPreference -Confirm:$false
Проверка наличия почтовых ящиков пользователей
Перед удалением сервера Exchange 2013 нужно убедиться что на нем не осталось никаких системных или пользовательских почтовых ящиков и что он не держит на себе никаких почтовых баз или копий почтовых баз.
Чтобы убедиться в этом нужен командлет:
Get-Mailbox -Server MAILSERVERNAME
Проверяем системные ящики:
Get-Mailbox -Server MAILSERVERNAME -Arbitration
Проверяем архивные ящики:
Get-Mailbox -Server MAILSERVERNAME -Archive
Вывод пуст? Продолжаем с “Проверка членства в DAG”.
Перенос ящиков пользователей на новый сервер
Если ящики или базы на сервере есть, то Exchange не даст удалить почтовую базу. Разбираемся с ящиками, либо переносим базу целиком на новый сервер, либо копируем сами ящики в новую базу по одному или пакетно.
Скопировать ящики пакетно в новую базу можно командлетом: (не забыть про системные почтовые ящики):
Get-Mailbox -Database "OLD_MAILDB" | New-MoveRequest -TargetDatabase "NEW_MAILDB"
Get-Mailbox -Database "OLD_MAILDB" -Arbitration | New-MoveRequest -TargetDatabase "NEW_MAILDB"
Проверка членства в DAG
Далее, убедимся, что сервер не является членом DAG и если это не так, его надо удалить из DAG:
Get-DatabaseAvailabilityGroup | ft Name,Servers
Удаление сервера члена DAG
Чтобы удалить сервер из DAG подставьте свои данные и выполните команду:
Remove-DatabaseAvailabilityGroupServer -Identity DAGNAME -MailboxServer MAILSERVERNAME
Удаляем почтовые базы на старом сервере
Get-MailboxDatabase -Server MAILSERVERNAME | Remove-MailboxDatabase
Удаляем автономные адресные книги с сервера
Посмотреть список книг:
Get-OfflineAddressBook | fl Name,VirtualDirectories
Удаляем те, что касаются нашего сервера:
Remove-OfflineAddressBook -Identity "GAL_NAME"
Разбираемся с ролью транспорта, перенаправляем и удаляем соединители отправки и получения
Список соединителей получения:
Get-ReceiveConnector -server MAILSERVERNAME | Select Name, Server, Enabled
Вручную создает такие же соединители получения на новом сервере.
Отключаем коннекторы на старом сервере:
Set-ReceiveConnector -Identity "MAILSERVERNAME\CONNECTORNAME" -Enabled $false
Список соединителей отправки:
Get-SendConnector | where {$_.SourceTransportServers -like "MAILSERVERNAME"} | Select Name, SourceTransportServers
Меняем сервер транспорта на новый:
Set-SendConnector -Identity "CONNECTORNAME" -SourceTransportServers NEW_MAILSERVERNAME
Ненужные коннекторы можно удалить:
Remove-SendConnector -Identity "CONNECTORNAME"
Деинсталляция Exchange 2013
Теперь, после того как мы убедились что на сервере больше нет почтовых баз и что он не является членом DAG, мы можем начать деинсталляцию Exchange 2013.
Можно запустить деинсталляцию из оснастки “Установка удаление программ” или appwiz.cpl, а можно запустить установщик Exchange с ключами удаления. Рассмотрим второй способ.
Проверим, какая версия Exchange 2013 у нас установлена:
Get-Command Exsetup.exe | ForEach {$_.FileVersionInfo}
————– ———– ——–
15.01.1913.012 15.01.1913.012 C:\Program Files\Microsoft\Exchange Server\V15\bin\ExSetup.ex
Для удаления Exchange 2013 нам понадобится дистрибутив. Лучше скачать дистрибутив именно той версии, которая у нас установлена.
Подключаем установочный диск Exchange 2013, открываем cmd от администратора и запускаем команду:
f:\setup.exe /Mode:Uninstall /IAcceptExchangeServerLicenseTerms
В целом, установщик достаточно продвинутый, если ему что то не понравится, он вас предупредит ошибкой и информацией для ее исправления.
Ждем результат:
Ссылки
http://www.thatlazyadmin.com/2017/07/02/removing-exchange-2013-mailbox-server-exchange-organization/
https://www.dmosk.ru/miniinstruktions.php?mini=udalenie-exchange-2010