Установка Exchange Server 2019
Обновлено:
Опубликовано:
Подготовка системы
Изучить системные требования.
Контроллер домена.
Расширение схемы.
В группу администраторы схемы.
cd E:
.\Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /PrepareSchema
.\Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /PrepareAD
.\Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareSchema
.\Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareAD
Ошибка: Для данного режима необходимо указать имя организации Exchange. Имя организации можно указать с помощью параметра
/OrganizationName.
Решение:
.\Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /PrepareAD /OrganizationName:"<organization name>"
необходимо установить 64-разрядный пакет Microsoft Unified Communications Managed API 4.0 Core Runtime. Установите это ПО со страницы http://go.microsoft.com/fwlink/?LinkId=260990.
Распространяемый пакет Visual C++ 2013 является необходимым компонентом. Установите требуемые двоичные файлы и повторно запустите установку. Чтобы скачать их, воспользуйтесь универсальным кодом ресурса (URI) https://www.microsoft.com/download/details.aspx?id=40784.
Дополнительные сведения: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.VC2013RedistDependencyRequirement.aspx
Перезагрузка.
Установка Exchange









Начальная настройка
Выполним базовые настройки, которые позволят нам отправлять и принимать почту.
Сертификат
Для корректной работы почтового сервера Exchange необходимо использовать корректный SSL-сертификат. Его можно купить или получить от Let's Encrypt. Рассмотрим оба варианта.
Купленный сертификат
Приобрести сертификат можно у любого поставщика. Важно, чтобы он был для двух доменных имен:
- Имя сервера, в нашем примере — relay.dmosk.ru.
- Имя для autodiscover, например, autodiscover.dmosk.ru.
Открываем консоль Exchange Management Shell и вводим:
Get-ExchangeCertificate
Мы получим список установленных в систему сертификатов.
Enable-ExchangeCertificate -Thumbprint 43...AB -Services POP,IMAP,IIS,SMTP
[Y] Да - Y [A] Да для всех - A [N] Нет - N [L] Нет для всех - L [?] Справка (значением по умолчанию является "Y"): A
Сертификат от Let's Encrypt
На сайте GitHub скачиваем win-acme pluggable для операционной системы x64:

Раcпаковываем скачанный архив в любую папку. Открываем командную строку и переходим в каталог, в который мы распаковали архив.
В комплекте установленного нами LetsEncrypt-Win-Simple для Windows идет скрипт ImportExchange.v2.ps1. Он нужен для импорта сертификата в конфигурацию почтового сервера MS Exchange.
Для начала создадим каталог, куда будет выгружен сертификат. В моем примере я воспользуюсь путем C:\SSL.
Допустим, что адрес подключения к серверу будет relay.dmosk.ru. Тогда получить сертификат и импортировать его в Exchange можно командой:
.\wacs.exe --source manual --host relay.dmosk.ru,autodiscover.dmosk.ru --store centralssl,certificatestore --certificatestore My --acl-fullcontrol "network service,administrators" --centralsslstore "C:\SSL" --installation iis,script --installationsiteid 1 --script "./Scripts/ImportExchange.v2.ps1" --scriptparameters "'{CertThumbprint}' 'IIS,SMTP,IMAP' 1 '{CacheFile}' '{CachePassword}' '{CertFriendlyName}'"
* данная команда запросит сертификат для узлов relay.dmosk.ru и autodiscover.dmosk.ru, сохранит нужные файлы в каталоге C:\SSL и импортирует полученные ключи в Microsoft Exchange Server.
При запуске команды не в PowerShell, а обычном терминале, она должна начинаться с:
wacs.exe ...
После успешного выполнения команды, заходим в консоль управления сервером, переходим на вкладку управления сертификатами. В списке мы должны увидеть полученную последовательность от Let's Encrypt. Кликаем по ней и назначаем сертификат для нужных служб Exchange (как правило, SMTP, IIS).
Отправка сообщений
New-SendConnector -Internet -Name Internet -AddressSpaces *
New-SendConnector -Internet -Name Internet -AddressSpaces * -DnsRoutingEnabled $false -SmartHosts relay.dmosk.ru
Set-SendConnector -Identity Internet -DnsRoutingEnabled $false -SmartHosts 192.168.0.22
Set-SendConnector Internet -Fqdn relay.dmosk.ru
SPF
Подключение клиента
$ext_hostname = 'relay.dmosk.ru'
$int_hostname = 'relay.dmosk.ru'
Get-EcpVirtualDirectory | ft Name, InternalUrl, ExternalUrl
Set-EcpVirtualDirectory "ecp (Default Web Site)" -ExternalUrl "https://$ext_hostname/ecp" -InternalUrl "https://$int_hostname/ecp"
Get-WebServicesVirtualDirectory | ft Name, InternalUrl, ExternalUrl
Set-WebServicesVirtualDirectory "EWS (Default Web Site)" -ExternalUrl "https://$ext_hostname/EWS/Exchange.asmx" -InternalUrl "https://$int_hostname/EWS/Exchange.asmx"
Get-MapiVirtualDirectory | ft Name, InternalUrl, ExternalUrl
Set-MapiVirtualDirectory "mapi (Default Web Site)" -ExternalUrl "https://$ext_hostname/mapi" -InternalUrl "https://$int_hostname/mapi"
Get-ActiveSyncVirtualDirectory | ft Name, InternalUrl, ExternalUrl
Set-ActiveSyncVirtualDirectory "Microsoft-Server-ActiveSync (Default Web Site)" -ExternalUrl "https://$ext_hostname/Microsoft-Server-ActiveSync" -InternalUrl "https://$int_hostname/Microsoft-Server-ActiveSync"
Get-OabVirtualDirectory | ft Name, InternalUrl, ExternalUrl
Set-OabVirtualDirectory "OAB (Default Web Site)" -ExternalUrl "https://$ext_hostname/OAB" -InternalUrl "https://$int_hostname/OAB"
Get-OwaVirtualDirectory | ft Name, InternalUrl, ExternalUrl
Set-OwaVirtualDirectory "owa (Default Web Site)" -ExternalUrl "https://$ext_hostname/owa" -InternalUrl "https://$int_hostname/owa"
Создаем запись autodiscover
Дополнительно
Get-TransportConfig | fl MaxReceiveSize,MaxSendSize
Set-TransportConfig -MaxReceiveSize 60MB -MaxSendSize 60MB
Get-ReceiveConnector | fl MaxMessageSize
Get-SendConnector | fl MaxMessageSize
Get-Service *Exchange* | Where {$_.DisplayName -notlike "*Hyper-V*"} | Restart-Service -force
После настройки exchange
Получение писем
Создаем MX
IMAP
Set-Service MSExchangeIMAP4 -StartupType Automatic; Set-Service MSExchangeIMAP4BE -StartupType Automatic
Get-ImapSettings | Format-List *ConnectionSettings,*Bindings,X509CertificateName
Set-ImapSettings -ExternalConnectionSettings "mail.contoso.com:993:SSL","mail.contoso.com:143:TLS" -X509CertificateName mail.contoso.com
Get-ImapSettings | Format-List *ConnectionSettings,*Bindings,X509CertificateName
Restart-Service MSExchangeIMAP4; Restart-Service MSExchangeIMAP4BE
Test-ImapConnectivity -ClientAccessServer mail.contoso.com -Lightmode -MailboxCredential (Get-Credential)