Зачем проверять версию Exchange Server
Точную версию Exchange полезно знать не только перед обновлением. Она понадобится при диагностике проблем, проверке безопасности и планировании изменений инфраструктуры.
Например, версия Exchange необходима для:
- определения установленного CU;
- проверки установленных SU и HU;
- подготовки Exchange Server к обновлению;
- диагностики ошибок;
- проверки совместимости с другими компонентами инфраструктуры;
- обращения в техническую поддержку;
- проверки нескольких серверов Exchange в организации.
Проверяем версию Exchange через Get-ExchangeServer
Самый простой способ — использовать командлет Get-ExchangeServer.
Откройте Exchange Management Shell и выполните:
Get-ExchangeServer | Format-List Name,Edition,AdminDisplayVersion
Например:
Name : EX01-2016
Edition : StandardEvaluation
AdminDisplayVersion : Version 15.1 (Build 1913.5)
Name : EX02-2016
Edition : StandardEvaluation
AdminDisplayVersion : Version 15.1 (Build 1913.5)
Здесь можно увидеть:
Name— имя Exchange Server;Edition— редакцию;AdminDisplayVersion— основную версию и номер сборки Exchange.
Показываем версии всех Exchange Server таблицей
Если в организации несколько серверов, результат удобнее вывести в виде таблицы:
Get-ExchangeServer |
Format-Table Name,Edition,AdminDisplayVersion -AutoSize
Например:
Name Edition AdminDisplayVersion
---- ------- -------------------
EX01-2016 StandardEvaluation Version 15.1 (Build 1913.5)
EX02-2016 StandardEvaluation Version 15.1 (Build 1913.5)
Так можно быстро увидеть, одинаковые ли базовые версии Exchange установлены на всех серверах.
Как узнать установленный SU или HU Exchange Server
Для более точной проверки посмотрим версию файла ExSetup.exe. Его версия изменяется после установки соответствующих обновлений Exchange.
Проверяем локальный Exchange Server
На самом Exchange Server можно выполнить:
Get-Command ExSetup.exe |
ForEach-Object { $_.FileVersionInfo } |
Format-List FileVersion,ProductVersion
В результате получим точную версию файла Exchange Setup.
Проверяем все Exchange Server в организации
Если серверов несколько, можно собрать информацию удалённо:
$ExchangeServers = Get-ExchangeServer | Sort-Object Name
foreach ($Server in $ExchangeServers) {
Invoke-Command -ComputerName $Server.Name -ScriptBlock {
$ExSetup = Get-Command ExSetup.exe
[PSCustomObject]@{
Server = $env:COMPUTERNAME
FileVersion = $ExSetup.FileVersionInfo.FileVersion
ProductVersion = $ExSetup.FileVersionInfo.ProductVersion
}
}
}
Для более компактного результата добавим таблицу:
$ExchangeServers = Get-ExchangeServer | Sort-Object Name
foreach ($Server in $ExchangeServers) {
Invoke-Command -ComputerName $Server.Name -ScriptBlock {
$ExSetup = Get-Command ExSetup.exe
[PSCustomObject]@{
Server = $env:COMPUTERNAME
FileVersion = $ExSetup.FileVersionInfo.FileVersion
ProductVersion = $ExSetup.FileVersionInfo.ProductVersion
}
}
} | Format-Table -AutoSize
В результате можно получить список вида:
Server FileVersion ProductVersion
------ ----------- --------------
EX01-2016 15.01.xxxx.xxx 15.01.xxxx.xxx
EX02-2016 15.01.xxxx.xxx 15.01.xxxx.xxx
Как определить версию Exchange по номеру сборки
После получения номера сборки необходимо сопоставить его с официальной таблицей Microsoft.
Актуальный список сборок находится в документации Microsoft:
Build numbers and release dates for Exchange Server.
В таблице Microsoft перечислены версии Exchange Server, Cumulative Update и выпущенные для них обновления.
Например, сборка:
Version 15.1 (Build 1913.5)
соответствует:
Exchange Server 2016 CU15
Чем отличаются CU, SU и HU в Exchange Server
При проверке версии важно понимать, какое именно обновление установлено.
Cumulative Update — CU
CU — накопительное обновление Exchange Server. Оно содержит изменения и исправления продукта и формирует новую базовую сборку Exchange.
Security Update — SU
SU — обновление безопасности, выпускаемое для поддерживаемых сборок Exchange. После установки SU версия файлов Exchange изменяется, поэтому одного AdminDisplayVersion для точной проверки может быть недостаточно.
Hotfix Update — HU
HU — обновление, которое Microsoft может выпускать для исправления определённых проблем или доставки изменений между более крупными обновлениями продукта.
Именно поэтому при аудите Exchange полезно проверять сразу два уровня:
Get-ExchangeServer
↓
Базовая версия / CU
↓
ExSetup.exe
↓
Точная сборка с учётом установленного обновления
↓
Сверка с таблицей Microsoft
Как быстро проверить версии всех Exchange Server
Для первоначальной проверки инфраструктуры удобно начать с этой команды:
Get-ExchangeServer |
Sort-Object Name |
Format-Table Name,Edition,AdminDisplayVersion -AutoSize
Затем получить точную версию ExSetup.exe на каждом сервере.
Такой подход позволяет обнаружить ситуацию, когда серверы находятся на одном CU, но имеют разные уровни последующих обновлений.
Проверка версии Exchange перед обновлением
Перед установкой очередного обновления я рекомендую зафиксировать:
- версию Exchange Server;
- установленный CU;
- точный номер сборки
ExSetup.exe; - установленные SU/HU;
- версии остальных Exchange Server организации.
После установки обновления повторите проверку и сравните номер сборки с ожидаемым значением из документации Microsoft.
Часто задаваемые вопросы
Какой командой посмотреть версию Exchange Server?
В Exchange Management Shell выполните:
Get-ExchangeServer | Format-Table Name,Edition,AdminDisplayVersion -AutoSize
Можно ли определить установленный SU через Get-ExchangeServer?
Не всегда. AdminDisplayVersion показывает базовую версию Exchange, но для определения точного уровня последующих обновлений лучше проверить версию ExSetup.exe и сопоставить её с официальной таблицей сборок Microsoft.
Как посмотреть версию ExSetup.exe?
На Exchange Server выполните:
Get-Command ExSetup.exe |
ForEach-Object { $_.FileVersionInfo } |
Format-List FileVersion,ProductVersion
Как определить CU Exchange Server по номеру сборки?
Сопоставьте полученный номер AdminDisplayVersion или версию ExSetup.exe с официальной таблицей Build numbers and release dates for Exchange Server на сайте Microsoft.
Как проверить версии сразу на нескольких Exchange Server?
Базовые версии можно получить одной командой Get-ExchangeServer. Для точных версий ExSetup.exe на каждом сервере можно использовать PowerShell Remoting и Invoke-Command.
Почему в «Программы и компоненты» лучше не определять версию Exchange?
Этот раздел не всегда даёт достаточно информации для определения фактического уровня обновления Exchange. Для технической проверки лучше использовать Exchange Management Shell и версию файлов Exchange.
Нужно ли проверять версию после установки обновления Exchange?
Да. После обновления полезно повторно получить версию ExSetup.exe и сверить её с ожидаемой сборкой Microsoft. Это позволяет подтвердить, что сервер действительно перешёл на нужный уровень обновления.
Заключение
Для быстрой проверки версии Exchange Server достаточно выполнить Get-ExchangeServer и посмотреть значение AdminDisplayVersion. Так можно определить базовую версию Exchange и установленный CU.
Если необходимо точно определить уровень обновления, включая SU или HU, дополнительно проверьте версию файла ExSetup.exe. Полученный номер сборки затем сопоставьте с официальной таблицей Microsoft.
Особенно полезно выполнять такую проверку перед и после обновления Exchange, а в инфраструктуре с несколькими серверами — сравнивать сборки каждого из них.
Вам понравилась эта статья? Тогда вам, скорее всего, будет интересна другая полезная статья Накопительное обновление 15 для Exchange Server 2019.