Заметка: в приватном разделе
В виду того факта что я хочу уйти с Exchange 2010 (Version: 14.03.0513.000)
который сейчас использую на продуктиве в пользу пока из возможного на моей инфраструктуре — это Exchange 2016.
В связи с этим прорабатываю: как разворачивается и вот как перед последующей настройкой произвести обновление на самую последнюю версию, но делать все это буду на тестовой инфраструктуре применительно к домену @ekzorchikdom.ru.
Сейчас собственно заметка, как на развернутый из образа: SW_DVD9_Exchange_Svr_2016_CU_19_MultiLang_Std_Ent_.iso_MLF_X22-47606.ISO
установить на 25.01.2025
все последние обновления.
В качестве инфраструктуры где все проделываю выступит мой тестовый сервер на базе Debian 10 + Proxmox 6.4-13
с созданными виртуальными машинами.
Предварительные действия:
Шаг №1:
Создана виртуальная машина на базе Windows Server 2016 Std
на которой развернут контроллер домена:
Hostname: srv-dc01.polygon.local
RAM: 4Gb
CPU: 1 (4 cores)
Network: vmbr1
IP: 10.90.90.3
VM ID: 200
IE Enhanced Security Configuration: Off
IPv6 disable
Login in AD: ekzorchik
Group: Domain Admins, Schema Admins, Enterprise Admins
Уровень домена и леса: Windows Server 2012 R2
Шаг №2:
Создана виртуальная машина на базе Windows Server 2016 Std
на которую установлен Exchange Server 2016
опираясь на заметку:
Hostname: srv-mail02.polygon.local
RAM: 8Gb
CPU: 1 (4 cores)
Network: vmbr1
IP: 10.90.90.20
VM ID: 201
тут мы поставили
Странно иду по шагам и на одном этапе возникло это
.\setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms
— успешно
.\Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareDomain:polygon.local
— — ругнулось что нужно сделать сперва setup /PrepareAD
делаю
.\Setup.exe /PrepareAD /IAcceptExchangeServerLicenseTerms
Странно, но такого раньше не было
.\Setup.exe /PrepareAD /OrganizationName:POLYGON /IAcceptExchangeServerLicenseTerms
.\Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareDomain:polygon.local
— успешно
https://srv-mail02/ecp - Административная консоль
https://srv-mail02/owa - Доступ к почтовому ящику
Шаг №3:
В роли шлюза выступит виртуальная машина на базе Mikrotik CHR
+ настроенные правила для доступа из локальной сети в интернет.
VM ID: 202
Hostname: srv-gw01.polygon.local
Network:
vmbr1 - смотрит в локальную сеть
vmbr0 - смотрит в интернет
Шаг №4:
Смотрим какая версия Exchange
сервера развернута на srv-mail02:
Logon in RDP srv-mail02
Win + X - Command Prompt (Admin)
C:\Windows\system32>powershell -command "Get-Command Exsetup.exe | ForEach {$_.FileVersionInfo}"
ProductVersion FileVersion FileName
-------------- ----------- --------
15.01.2176.002 15.01.2176.002 C:\Program Files\Microsoft\Exchange Server\V15\bin\ExSetup.exe
Шаг №5:
Изучаю таблицу с обновлениями
https://learn.microsoft.com/en-us/exchange/new-features/build-numbers-and-release-dates?view=exchserver-2019#exchange-server-2016
— содержимое таблицы ниже взято из этой ссылки и перенесено в Excel
документ своих наработок:
W:\firma\tips_exchange2016\tips_exchange2016_updates_v1.xlsx
Т.е. моя версия ProductVersion = 15.01.2176.002
— Это версия от December 7, 2020
Шаг №6:
Прежде чем приступать к обновлению нужно почтовый сервер Exchange Server
перевести в режим обслуживания Maintenance Mode:
on srv-mail02 (Logon: Ekzorchik)
Win - Microsoft Exchange Server 2016
— затем через правый клик мышью на Exchange Management Shell
выбираю "More" - "Run as administrator"
Welcome to the Exchange Management Shell!
Full list of cmdlets: Get-Command
Only Exchange cmdlets: Get-ExCommand
Cmdlets that match a specific string: Help *<string>*
Get general help: Help
Get help for a cmdlet: Help <cmdlet name> or <cmdlet name> -?
Exchange team blog: Get-ExBlog
Show full output for a command: <command> | Format-List
Show quick reference guide: QuickRef
VERBOSE: Connecting to srv-mail02.polygon.local.
VERBOSE: Connected to srv-mail02.polygon.local.
[PS] C:\Windows\system32>
[PS] C:\Windows\system32>Set-ServerComponentState -Identity "srv-mail02.polygon.local" -Component HubTransport -State Draining -Requester Maintenance
[PS] C:\Windows\system32>Set-ServerComponentState "srv-mail02.polygon.local" -Component ServerWideOffline -State Inactive -Requester Maintenance
Шаг №7:
Проверяю что все сервисы Exchange Server
находятся в режиме обслуживания (Maintenance Mode):
Win - Microsoft Exchange Server 2016
— затем через правый клик мышью на Exchange Management Shell
выбираю "More" - "Run as administrator"
[PS] C:\Windows\system32>Get-ServerComponentState "srv-mail02.polygon.local" | Select Component, State
Component State
--------- -----
ServerWideOffline Inactive
HubTransport Inactive
FrontendTransport Inactive
Monitoring Active
RecoveryActionsEnabled Active
AutoDiscoverProxy Inactive
ActiveSyncProxy Inactive
EcpProxy Inactive
EwsProxy Inactive
ImapProxy Inactive
OabProxy Inactive
OwaProxy Inactive
PopProxy Inactive
PushNotificationsProxy Inactive
RpsProxy Inactive
RwsProxy Inactive
RpcProxy Inactive
UMCallRouter Inactive
XropProxy Inactive
HttpProxyAvailabilityGroup Inactive
ForwardSyncDaemon Inactive
ProvisioningRps Inactive
MapiProxy Inactive
EdgeTransport Inactive
HighAvailability Inactive
SharedCache Inactive
MailboxDeliveryProxy Inactive
RoutingUpdates Inactive
RestProxy Inactive
DefaultProxy Inactive
Lsass Inactive
RoutingService Inactive
E4EProxy Inactive
CafeLAMv2 Inactive
LogExportProvider Inactive
На заметку: Перед дальнейшими шагами консоль Exchange Management Shell
нужно закрыть.
Шаг №8:
Приступаю к обновлению:
На заметку: Перед установкой обновлений на Windows
системе хоста srv-mail02
нужно проверить что служба "Windows Update"
включена
Скачиваю обновление KB5049233x64.exe
и запускаю его установку в систему
https://download.microsoft.com/download/0/9/9/0998c26c-8eb6-403a-b97a-ae44c4db5e20/Exchange2016-KB5049233-x64-en.exe
Start: Installation process initiated.
Windows Installer
The upgrade patch cannot be installed by the Windows Installer server because the program to be upgraded may be missing, or the upgrade patch my update a different version of the program. Verify that the program to be upgraded exists on your computer and that you have the correct upgrade patch.
Start: Installation process initiated.
SUCCESS: Extracted contents to C:\Users\ekzorchik.POLYGON\AppData\Local\Temp\
ERROR: While installing the Exchange Server Update, error 1642 occurred.
Press any key to exit…
Странно, почему не идет обновление, т.е. в лоб вот взять и просто поставить обновления на Exchange
нельзя, опять разбираться что разработчики намудрили с процедурой обновления.
Ладно, просто буду накатывать обновления по очереди:
Т.е. у меня CU19
, мне, наверное, нужно CU20
, но перейдя по ссылке и указав обновление
http://www.catalog.update.microsoft.com/Search.aspx?q= KB4602569
Т.е. KB4602569 = CU20
ExchangeServer2016-x64-CU20.iso
Распаковываю, затем
Win + R -> Command Prompt (Admin)
C:\Windows\system32>powershell
PS C:\Windows\system32> Install-WindowsFeature RSAT-ADDS
PS C:\Windows\system32> cd C:\Soft\ExchangeServer2016-x64-CU20\
PS C:\Soft\ExchangeServer2016-x64-CU20>
PS C:\Soft\ExchangeServer2016-x64-CU20> .\Setup.exe /Mode:Upgrade /IAcceptExchangeServerLicenseTerms
Microsoft Exchange Server 2016 Cumulative Update 20 Unattended Setup
Copying Files...
File copy complete. Setup will now collect additional information needed for installation.
Languages
Management tools
Mailbox role: Transport service
Mailbox role: Client Access service
Mailbox role: Unified Messaging service
Mailbox role: Mailbox service
Mailbox role: Front End Transport service
Mailbox role: Client Access Front End service
Performing Microsoft Exchange Server Prerequisite Check
Configuring Prerequisites COMPLETED
Prerequisite Analysis 100%
Setup can't detect a Send connector with an address space of '*'. Mail flow to the Internet may not work properly.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.NoConnectorToStar.aspx
A reboot from a previous installation is pending. Please restart the system and then rerun Setup.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.RebootPending.aspx
The Exchange Server setup operation didn't complete. More details can be found in ExchangeSetup.log located in the
<SystemDrive>:\ExchangeSetupLogs folder.
PS C:\Soft\ExchangeServer2016-x64-CU20>
Отправляю систему в перезагрузку:
PS C:\Soft\ExchangeServer2016-x64-CU20>shutdown /r
после перезагрузки повторяю:
На заметку: Следует заменить что сервисы Exchange
все также пока в статусе Inactive.
C:\Windows\system32>cd /d C:\Soft\ExchangeServer2016-x64-CU20
C:\Soft\ExchangeServer2016-x64-CU20>
C:\Soft\ExchangeServer2016-x64-CU20>.\Setup.exe /Mode:Upgrade /IAcceptExchangeServerLicenseTerms
Microsoft Exchange Server 2016 Cumulative Update 20 Unattended Setup
Copying Files...
File copy complete. Setup will now collect additional information needed for installation.
Languages
Management tools
Mailbox role: Transport service
Mailbox role: Client Access service
Mailbox role: Unified Messaging service
Mailbox role: Mailbox service
Mailbox role: Front End Transport service
Mailbox role: Client Access Front End service
Performing Microsoft Exchange Server Prerequisite Check
Configuring Prerequisites COMPLETED
Prerequisite Analysis 100%
Setup can't detect a Send connector with an address space of '*'. Mail flow to the Internet may not work properly.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.NoConnectorToStar.aspx
Configuring Microsoft Exchange Server
Organization Preparation COMPLETED
Preparing Setup COMPLETED
Stopping Services COMPLETED
Language Files COMPLETED
Removing Exchange Files COMPLETED
Preparing Files COMPLETED
Copying Exchange Files COMPLETED
Language Files COMPLETED
Restoring Services COMPLETED
Language Configuration COMPLETED
Exchange Management Tools COMPLETED
Mailbox role: Transport service COMPLETED
Mailbox role: Client Access service COMPLETED
Mailbox role: Unified Messaging service COMPLETED
Mailbox role: Mailbox service COMPLETED
Mailbox role: Front End Transport service COMPLETED
Mailbox role: Client Access Front End service COMPLETED
Finalizing Setup COMPLETED
The Exchange Server setup operation completed successfully.
C:\Soft\ExchangeServer2016-x64-CU20>
Шаг №9:
После отправляю систему в перезагрузку
Шаг №10:
Проверяю что сервисы все еще в Maintenance Mode
режиме, ответ да в статусе Inactive
, а теперь вывожу из этого режима в обычный:
Win - Microsoft Exchange Server 2016
— затем через правый клик мышью на Exchange Management Shell
выбираю "More" - "Run as administrator"
[PS] C:\Windows\system32>Set-ServerComponentState "srv-mail02.polygon.local" -Component ServerWideOffline -State Active -Requester Maintenance
[PS] C:\Windows\system32>Set-ServerComponentState "srv-mail02.polygon.local" -Component HubTransport -State Active -Requester Maintenance
[PS] C:\Windows\system32>
[PS] C:\Windows\system32>Get-ServerComponentState "srv-mail02.polygon.local" | Select Component, State
Component State
--------- -----
ServerWideOffline Active
HubTransport Active
FrontendTransport Active
Monitoring Active
RecoveryActionsEnabled Active
AutoDiscoverProxy Active
ActiveSyncProxy Active
EcpProxy Active
EwsProxy Active
ImapProxy Active
OabProxy Active
OwaProxy Active
PopProxy Active
PushNotificationsProxy Active
RpsProxy Active
RwsProxy Active
RpcProxy Active
UMCallRouter Active
XropProxy Active
HttpProxyAvailabilityGroup Active
ForwardSyncDaemon Inactive
ProvisioningRps Inactive
MapiProxy Active
EdgeTransport Active
HighAvailability Active
SharedCache Active
MailboxDeliveryProxy Active
RoutingUpdates Active
RestProxy Active
DefaultProxy Active
Lsass Active
RoutingService Active
E4EProxy Active
CafeLAMv2 Active
LogExportProvider Active
Шаг №11:
Проверяю какая сейчас версия Exchange Server
установлена:
[PS] C:\Windows\system32>get-Command Exsetup.exe | ForEach {$_.FileVersionInfo}
ProductVersion FileVersion FileName
-------------- ----------- --------
15.01.2242.004 15.01.2242.004 C:\Program Files\Microsoft\Exchange Server\V15\bin\ExSetup.exe
Открываю свою таблицу версий применительно к Exchange 2016
и вижу:
Exchange Server 2016 CU20
15.01.2242.004
March 16, 2021
у меня сейчас Exchange Server 2016 CU20
от March 16, 2021
Шаг №12:
Продолжаю обновление, скачиваю
Cumulative Update 23 for Exchange Server 2016 (KB5011155)
Select language: English
обновлять буду аналогичным образом как выше с CU19
на CU20
Далее, переводим в Maintenance Mode
режим службы Exchange
[PS] C:\Windows\system32>Set-ServerComponentState -Identity "srv-mail02.polygon.local" -Component HubTransport -State Draining -Requester Maintenance
[PS] C:\Windows\system32>Set-ServerComponentState "srv-mail02.polygon.local" -Component ServerWideOffline -State Inactive -Requester Maintenance
[PS] C:\Windows\system32>
[PS] C:\Windows\system32>exit
Win + X -> Command Prompt (Admin)
Распаковываем скачанный пакет в каталог C:\soft
C:\Windows\system32>cd /d c:\Soft\ExchangeServer2016-x64-CU23
c:\Soft\ExchangeServer2016-x64-CU23>
На заметку: Аккуратно следует копировать команды из заметки, т.к. я копировал ">.\Setup.exe и далее"
и не мог понять почему в распакованном каталоге файл setup.exe
нулевого размера и установка не шла.
c:\Soft\ExchangeServer2016-x64-CU23>.\Setup.exe /Mode:Upgrade /IAcceptExchangeServerLicenseTerms
Microsoft Exchange Server 2016 Cumulative Update 23 Unattended Setup
You need to accept the license terms to install Microsoft Exchange Server 2016. To read the license agreement, visit http://go.microsoft.com/fwlink/p/?LinkId=150127. To accept the license agreement, add the /IAcceptExchangeServerLicenseTerms_DiagnosticDataON or /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF parameter to the command you're running. For more information, run setup /?.
c:\Soft\ExchangeServer2016-x64-CU23>
Изменяю ключ подтверждения лицензионного соглашения
c:\Soft\ExchangeServer2016-x64-CU23>.\Setup.exe /Mode:Upgrade /IAcceptExchangeServerLicenseTerms_DiagnosticDataON
Microsoft Exchange Server 2016 Cumulative Update 23 Unattended Setup
Copying Files...
File copy complete. Setup will now collect additional information needed for installation.
Languages
Management tools
Mailbox role: Transport service
Mailbox role: Client Access service
Mailbox role: Unified Messaging service
Mailbox role: Mailbox service
Mailbox role: Front End Transport service
Mailbox role: Client Access Front End service
Performing Microsoft Exchange Server Prerequisite Check
Configuring Prerequisites COMPLETED
Prerequisite Analysis 100%
Setup can't detect a Send connector with an address space of '*'. Mail flow to the Internet may not work properly.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.NoConnectorToStar.aspx
A reboot from a previous installation is pending. Please restart the system and then rerun Setup.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.RebootPending.aspx
The 'IIS URL rewrite module' isn't installed on this computer and needs to be installed before Exchange Setup can begin.
For more information, visit: https://docs.microsoft.com/Exchange/plan-and-deploy/deployment-ref/ms-exch-setupreadiness-IISURLRewriteNotInstalled?view=exchserver-2016
The Exchange Server setup operation didn't complete. More details can be found in ExchangeSetup.log located in the
<SystemDrive>:\ExchangeSetupLogs folder.
c:\Soft\ExchangeServer2016-x64-CU23>
Устанавливаю в систему модуль 'IIS URL rewrite module'
, но его нет в системе поэтому скачиваю его: https://download.microsoft.com/download/1/2/8/128E2E22-C1B9-44A4-BE2A-5859ED1D4592/rewrite_amd64_en-US.msi
Отправляю систему в перезагрузку и после заново запускаю установку CU23
Win + X -> Command Prompt (Admin)
C:\Windows\system32>cd /d c:\Soft\ExchangeServer2016-x64-CU23
c:\Soft\ExchangeServer2016-x64-CU23>.\Setup.exe /Mode:Upgrade /IAcceptExchangeServerLicenseTerms_DiagnosticDataON
Microsoft Exchange Server 2016 Cumulative Update 23 Unattended Setup
Copying Files...
File copy complete. Setup will now collect additional information needed for installation.
Languages
Management tools
Mailbox role: Transport service
Mailbox role: Client Access service
Mailbox role: Unified Messaging service
Mailbox role: Mailbox service
Mailbox role: Front End Transport service
Mailbox role: Client Access Front End service
Performing Microsoft Exchange Server Prerequisite Check
Configuring Prerequisites COMPLETED
Preparing Setup COMPLETED
Stopping Services COMPLETED
Language Files COMPLETED
Removing Exchange Files COMPLETED
Preparing Files COMPLETED
Copying Exchange Files COMPLETED
Language Files COMPLETED
Restoring Service COMPLETED
Language Configuration COMPLETED
Exchange Management Tools COMPLETED
Mailbox role: Transport service COMPLETED
Mailbox role: Client Access service COMPLETED
Mailbox role: Unified Messaging service COMPLETED
Mailbox role: Mailbox service COMPLETED
Mailbox role: Front End Transport service COMPLETED
Mailbox role: Client Access Front End Service COMPLETED
Finalizing Setup COMPLETED
The Exchange Server setup operation completed successfully.
c:\Soft\ExchangeServer2016-x64-CU23>
Шаг №13:
Проверяю что сервисы все еще в Maintenance Mode
режиме, ответ да в статусе Inactive
, а теперь вывожу из этого режима в обычный:
Win - Microsoft Exchange Server 2016
— затем через правый клик мышью на Exchange Management Shell
выбираю "More" - "Run as administrator"
[PS] C:\Windows\system32>Set-ServerComponentState "srv-mail02.polygon.local" -Component ServerWideOffline -State Active -Requester Maintenance
[PS] C:\Windows\system32>Set-ServerComponentState "srv-mail02.polygon.local" -Component HubTransport -State Active -Requester Maintenance
[PS] C:\Windows\system32>
[PS] C:\Windows\system32>Get-ServerComponentState "srv-mail02.polygon.local" | Select Component, State
Component State
--------- -----
ServerWideOffline Active
HubTransport Active
FrontendTransport Active
Monitoring Active
RecoveryActionsEnabled Active
AutoDiscoverProxy Active
ActiveSyncProxy Active
EcpProxy Active
EwsProxy Active
ImapProxy Active
OabProxy Active
OwaProxy Active
PopProxy Active
PushNotificationsProxy Active
RpsProxy Active
RwsProxy Active
RpcProxy Active
UMCallRouter Active
XropProxy Active
HttpProxyAvailabilityGroup Active
ForwardSyncDaemon Inactive
ProvisioningRps Inactive
MapiProxy Active
EdgeTransport Active
HighAvailability Active
SharedCache Active
MailboxDeliveryProxy Active
RoutingUpdates Active
RestProxy Active
DefaultProxy Active
Lsass Active
RoutingService Active
E4EProxy Active
CafeLAMv2 Active
LogExportProvider Active
Шаг №14:
Проверяю версию Exchange
после обновления:
[PS] C:\Windows\system32>get-Command Exsetup.exe | ForEach {$_.FileVersionInfo}
ProductVersion FileVersion FileName
-------------- ----------- --------
15.01.2507.006 15.01.2507.006 c:\Program Files\Microsoft\Exchange Server\V15\bin\ExSetup.exe
Exchange Server 2016 CU23
15.01.2507.006
April 20, 2022
На заметку: Не забываем закрыть Exchange Management Shell
перед следующим шагом.
Шаг №15:
А теперь устанавливаем обновление Exchange Server 2016 CU23 Nov 24 SU v2
https://www.microsoft.com/download/details.aspx?familyID=e0299b1b-535a-44e0-8f57-ed2b9cc94e6f
Security Update for Exchange Server 2016 CU23 SU14 V2 (KB5049233)
из каталога C:\soft
запускаю Exchange2016-KB5049233-x64-en.exe
ожидаю…,
после нажимаю Next
Соглашаюсь с лицензионным соглашением
I accept the License Terms: отмечаю
и нажимаю Next
ожидаю
Ожидаю…
Ожидаю…
Installing Security Update for Exchange Server 2016 Cumulative Update 23 (KB5049233)
Please wait while the Setup Wizard Installs Security Update for Exchange Server 2016 Cumulative Update 23 (KB5049223). This may take several minutes.
Status: Creating native images for Exchange assemblies. This process can take an extended period of time to complete.
и установка завершается успешно
Setup Wizard for Security Update for Exchange Server 2016 Cumulative Update 23 (KB5049233) Completed
To exit the Setup Wizard, click Finish.
Нажимаю Finish
и отправляю систему в перезагрузку
Installer Information
You must restart your system for the configuration changes made to Microsoft Exchange Server to take effect. Click Yes to restart now or click No if you want to manually restart later.
и нажимаю Yes
Шаг №16:
После проверяю какая версия Exchange Server
сейчас:
C:\Windows\system32>powershell -command "get-Command Exsetup.exe | ForEach {$_.FileVersionInfo}"
ProductVersion FileVersion FileName
-------------- ----------- --------
15.01.2507.044 15.01.2507.044 c:\Program Files\Microsoft\Exchange Server\V15\bin\ExSetup.exe
Итого у меня самая последняя версия
Exchange Server 2016 CU3 Nov 24 SU v2
15.01.2507.044
November 27, 2024
на момент написания данной заметки, а именно 21.01.2025
Работает.
На этом заметка завершаю, т.к. я проработал шаги обновления Exchange
сервера перед последующей настройкой для работы в качестве почтового домена @ekzorchikdom.ru.
С уважением автор блога Олло Александр aka ekzorchik.