Установка
Настройка Windows server
- Устанавливаем Windows сервер
- Меняем
- Сетевые настройки
- IP адрес
- DNS
- Отключаем IPv6
- Отключаем Netbios
- Имя сервера и домен
- Server Manager
- Выключаем автозапуск Manage\Server manager properties\Don't start…
- Разрешаем RDP Remote Desktop Enabled
- Перезагружаем сервер
- Вводим в домен в Server Manager\Local Server\Domain
- Перезагружаем сервер
- Устанавливаем апдейты, нажимаем Win+R и вводим ms-settings:windowsupdate-action или вызываем Server Manager\Local Server и выбираем Windows Updates
- Увеличиваем размеры журналы Security и System в EventLog
Установка необходимых модулей
- Скачиваем необходимый дистрибутив CU и SU со страницы обновлений Exchange Server.
- Качаем скрипт и устанавливаем все предварительные настройки
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Invoke-WebRequest "https://wiki.itvideo.pro/_media/exchangeserver/set-exchangeprerequisites.ps1" -OutFile "set-exchangeprerequisites.ps1"
- Устанавливаем следующие Windows компоненты
Install-WindowsFeature server-media-foundation Install-WindowsFeature RSAT-ADDS Install-WindowsFeature NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation, RSAT-ADDS
- Запрещаем IPv6, как положено.
Disable-NetAdapterBinding -Name (get-NetAdapter).name -ComponentID "ms_tcpip6" -Confirm:$false Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" -Name "DisabledComponents" -Value 0xFF
- Проверяем версию .NET
(Get-ItemProperty "HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full").Release
и сравниваем по таблице версий .NET
- Проверяем не надо ли перезапускать сервер
If ( Test-path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired" ) { Write-Host -fore Yellow "System Reboot Pending: Yes" } else { Write-host -fore Green "System Reboot Pending: No" }
- Скачиваем для E2019 URL Rewrite https://www.iis.net/downloads/microsoft/url-rewrite
Подготовка существующего сервера к обновлению
- Убеждаемся, что на диске есть минимум 8Gb места, если нет, то запускаем cleanmgr.
- Убедитесь, что на вашем сервере к IIS не прицеплен протухший сертификат
- Выключить локальный антивирус
- Переводим HubTransport в draining state
Set-ServerComponentState -Identity $env:COMPUTERNAME -Component HubTransport -State Draining -Requester Maintenance
- Переводим очередь на другой сервер
Redirect-Message -Server $env:COMPUTERNAME -Target "Другой Сервер в DAG.yourdomain.ru"
- Если сервер входит в DAG
- Определяем активный сервер
Get-DatabaseAvailabilityGroup -identity dag01 -status | fl Prim*
- Переносим базы с активного на необходимый
Move-ActiveMailboxDatabase -SkipClientExperienceChecks -Server $env:COMPUTERNAME #ИмяСервераСКоторогоПереноситьБазы
- Выводим сервер из обслуживания
Suspend-ClusterNode $env:COMPUTERNAME Set-MailboxServer $env:COMPUTERNAME -DatabaseCopyActivationDisabledAndMoveNow $true Set-MailboxServer $env:COMPUTERNAME -DatabaseCopyAutoActivationPolicy Blocked Set-ServerComponentState $env:COMPUTERNAME -Component ServerWideOffline -State Inactive -Requester Maintenance
- Проверяем, что сервер в режиме обслуживания
Get-ServerComponentState "ServerName” | Select Component, State
- Исключить сервер из обслуживания на балансировщике
- Перезагружаем сервер
Установка или обновление Exchange Server
- Убеждаемся, что у учётной записи есть все права Enterprise admin и Scheme admin
- Устанавливаем Exchange Server
- Перейти на подключенный диск
cd E:/
- Подготовить схему
./Setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF
- Если новая организация, то подготавливаем AD
./Setup.exe /PrepareAD /OrganizationName:"YOUR_DOMAIN_WITHOUT_.LOCAL_WORD" /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF
- Подготавливаем домены
./Setup.exe /PrepareAllDomains /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF
- Запускаем setup.exe или команды ниже
- Exchange Server 2016
setup /m:install /role:mb,mt /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF
- Ключ /DoNotEnableEP_FEEWS выключает Extended protection
- Exchange Server 2019 CU Upgrade
Setup.EXE /Mode:Upgrade /IAcceptExchangeServerLicenseTerms_DiagnosticDataOff /DoNotEnableEP
-
- Наблюдаем за процессом установки в отдельном окне PowerShell
get-content -Path "C:\ExchangeSetupLogs\ExchangeSetup.log" -Tail 2 –Wait
Выводим сервер из режима обслуживания
Set-ServerComponentState $env:COMPUTERNAME -Component ServerWideOffline -State Active -Requester Maintenance Resume-ClusterNode $env:COMPUTERNAME Set-MailboxServer $env:COMPUTERNAME -DatabaseCopyActivationDisabledAndMoveNow $False Set-MailboxServer $env:COMPUTERNAME -DatabaseCopyAutoActivationPolicy Unrestricted Set-ServerComponentState $env:COMPUTERNAME -Component HubTransport -State Active -Requester Maintenance
Настройка Exchange Server
- Вернуть иконку Exchange на TaskBar. Тыкнуть по исчезнувшей и удалить. Открыть Start menu и сделать Pin to desktop
- Выдаём права админу на импорт почтовых ящиков
New-ManagementRoleAssignment –Role "Mailbox Import Export" –User Administrator
- Настраиваем сертификаты
certlm.msc
- Перезапускаем сервер
- Виртуальные дирректории
- Запускаем скрипт, меняющий внутренние и внешние пути
- Accepted domains
- Email address policy
- Receive connectors
- Отключаем Frontend client
- Разрешаем анонимную отправку для FrontEnd
- Настраиваем логи
- Send connectors
Настройка безопасности
- Запускаем healthcheck.ps1
Тестирование
Get-ExchangeServer |?{$_.AdminDisplayVersion -match "15.1"}| ft Name, ServerRole, AdminDisplayVersion -AutoSize Get-ClusterNode Test-ServiceHealth Test-MAPIConnectivity -Database MDB01 Test-ReplicationHealth -Server $env:COMPUTERNAME Get-MailboxServer | ft name, *activ* Get-ServerComponentState $env:COMPUTERNAME cd $exscripts; .\RedistributeActiveDatabases.ps1 -DagName DAG02 -BalanceDbsByActivationPreference -Confirm:$false
- Включаем сервер в режим балансировки
- Включаем локальный антивирус