Установка exchange 2019 на windows server 2019 по шагам

Мы уже рассматривали установку Exchnage 2019 в цикле статей по миграции с Exchange 2010 на Exchange 2019. Почему я решил написать отдельную статью, в которой будет рассмотрена установка и первоначальная настройка Exchange 2019? В первую очередь потому, что в тех статьях рассматривалась установка в контексте процедуры миграции, т.е. в инфраструктуре уже был установлен сервер Exchange. Во-вторых, для тех, кто только начинает знакомиться с продуктом или для тех, кому нужно относительно быстро развернуть продукт разбираться с контекстом миграции будет местами не так очевидно. И в третьих, основная идея этой статьи, чтобы пройдя шаги из неё можно было получить рабочий продукт, пусть и в минимальной конфигурации (усложнить вы всегда успеете :)). Например, для тестовой или демонстрационной среды.

Отмечу, что предполагается, что в вашей инфраструктуре до начала процесса установки не был развернут продукт Microsoft Exchange. В противном случае нужно опираться на информация из цикла статей по миграции.

Мы будем развертывать Exchange 2019 в самой простой конфигурации – один сервер без группы высокой доступности. В следующих публикациях мы добавим еще один сервер и создадим группу высокой доступности. Пока же начнем с базовых вещей.

Аппаратные характеристики нашего почтового сервера с Exchange 2019 приведена ниже:

  1. 6 vCPU.
  2. 8 ГБ RAM.
  3. 120 ГБ диск для системного раздела.
  4. 60 ГБ диск для баз данных.

Поскольку в Exchange 2019 нет разделения на сервера клиентского доступа и сервера почтовых ящиков, то процесс установки довольно прямолинеен.

Требования к Active Directory

Для того, чтобы добавить сервер с Microsoft Exchange 2019 в вашу инфраструктуру необходимо, чтобы функциональный уровень домена и леса вашей AD был Windows Server 2012 R2 или выше.

Более подробно требования к Active Directory приведены в соответствующем разделе официальной документации.

Предварительная подготовка сервера

Непосредственно перед началом установки ролей Exchange необходимо выполнить подготовку операционной системы. Наша операционная система Windows Server 2019 Standard.

В последующем для настройки группы высокой доступности (DAG) нам необходимо будет установить компонент Failover Clustering. Для Windows Server 2019 редакции Standard будет достаточно:

Что нам необходимо сделать:

1. Установить и выполнить первоначальную настройку Windows Server 2019.

2. Выполнить настройку IP-адресации.

3. Установить все обновления для ОС.

4. Присоединить сервера к домену. В нашем случае домен будет itproblog.ru.

5. Загрузить актуальный дистрибутив Microsoft Exchange 2019.

6. Начиная с Exchange 2016 Update Rollup 10 также предварительным требованием является модуль IIS URL Rewrite.

Установка необходимых предварительных компонентов

Полный перечень всех предварительных требований приведен в документации на сайте Microsoft. Ниже мы приведем весь перечень необходимых компонентов и дополнительного ПО применительно к Windows Server 2019.

Для предварительной подготовки Windows Server 2019 к установке роли сервера почтовых ящиков Exchange 2019 нам необходимо выполнить следующие действия:

1. Установить предварительные компоненты следующим PowerShell командлетом:

Install-WindowsFeature Server-Media-Foundation, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, 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

2. Установить NET Framework 4.8.

3. Установить Visual C++ Redistributable Package for Visual Studio 2012.

4. Также установить Visual C++ Redistributable Package for Visual Studio 2013.

5. Установить компонент Server Media Foundation:

Install-WindowsFeature Server-Media-Foundation

6. И установить Microsoft Unified Communications Managed API 4.0, Core Runtime 64-bit.

На этом установка предварительных компонентов для Exchange 2019 завершена.

Подготовка схемы Active Directory

Если в вашей инфраструктуре еще не был развернут Microrosft Exchange, то необходимо подготовить схему Active Directory для его установки. В процессе подготовки будут добавлены классы объектов и расширены свойства текущих классов для того, чтобы они могли содержать необходимые дополнительные сведения в части хранения почтовых атрибутов.

Вообще, можно не выносить процедуру обновления схемы в отдельный предварительный шаг, т.к. мастер установки Exchange может это сделать за нас автоматически. Однако, для подготовки схемы Active Directory нужны дополнительные разрешения (об этом чуть ниже). Также мы можем в более интерактивном режиме наблюдать за процессом расширения схемы Active Directory. Еще один аргумент в копилку отдельного шага – это отслеживание статуса репликации изменений на все контроллеры домена. Например, у вас три контроллера домена. Мы выполняем процедуру расширения схемы, ждем пока изменения отреплицируются на оставшиеся контроллеры (если у вас их несколько) и только потом переходим к непосредственной установки сервера Microsoft Exchange.

Учетная записи, от имени которой будет выполняться расширение схемы Active Directory должна быть включена в следующие группы безопасности домена:

  1. Schema Admins.
  2. Enterprise Admins.
  3. Domain Admins.

Шаг 1. Расширение схемы Active Directory

Самый первый шаг – это расширение схемы.

Переходим с директорию с дистрибутивом Exchange 2019 и выполняем команду (для Exchnage 2019 ниже CU11):

.\Setup.EXE /IAcceptExchangeServerLicenseTerms /PrepareSchema

Командлет для Exchange 2019 CU11 или выше.

.\Setup.EXE /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /PrepareSchema

Запуститься процесс расширения схемы Active Directory:

Дожидаемся окончания процесса расширения схемы. Об успешном процессе расширения схемы будет свидетельствовать соответствующее заключение мастера:

Теперь необходимо запустить процесс репликации изменений в Active Directory:

repadmin /syncall

Прежде чем переходить к следующему шагу необходимо дождаться окончания процесса репликации изменений в Active Directory на все контроллеры домена.

Шаг 2. Подготовка Active Directory

Теперь необходимо, чтобы мастер подготовки Active Directory создал необходимые объекты.

Выполните следующую команду в директории с дистрибутивом Exchange (для Exchnage 2019 ниже CU11):

.\Setup.EXE /IAcceptExchangeServerLicenseTerms /PrepareAD /OrganizationName:"Itproblog"

Командлет для Exchange 2019 CU11 или выше.

.\Setup.EXE /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /PrepareAD /OrganizationName:"Itproblog"

В параметре OrganizationName укажите имя организации Exchange. Имя может быть произвольным.

Дожидаемся окончания процесса подготовки Active Directory.

Теперь если посмотреть в нашу Active Directory, то мы увидим, что мастер создал необходимые группы безопасности:

Далее необходимо запустить процесс репликации изменений в Active Directory:

repadmin /syncall

Прежде чем переходить к следующему шагу необходимо дождаться окончания процесса репликации изменений в Active Directory на все контроллеры домена.

Шаг 3. Подготовка все остальных доменов Active Directory

Если у вас всего один домен, то этот шаг можно пропустить, т.к. параметр PrepareAD в предыдущем шаге уже выполнил всю необходимую подготовку.

Если же у вас несколько доменов, то вы можете:

  1. Подготовить сразу все оставшиеся домены.
  2. Подготовить домены каждый в отдельности.

Для того, чтобы подготовить сразу все домены выполните следующую команду в директории с дистрибутивом Exchange (для Exchnage 2019 ниже CU11):

.\Setup.EXE /IAcceptExchangeServerLicenseTerms /PrepareAllDomains

Командлет для Exchange 2019 CU11 или выше.

.\Setup.EXE /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /PrepareAllDomains

Чтобы подготовить определенный домен выполните следующую команду в директории с дистрибутивом Exchange (для Exchnage 2019 ниже CU11):

.\Setup.EXE /IAcceptExchangeServerLicenseTerms /PrepareDomain:itproblog.ru

Командлет для Exchange 2019 CU11 или выше.

.\Setup.EXE /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /PrepareDomain:itproblog.ru

Только в параметре PrepareDomain укажите FQDN имя вашего домена.

Проверка версии схемы

Для того, чтобы проверить текущую версию конфигурации схемы для Microsoft Exchange мы можем использовать, например, оснастку ADSI Edit.

Подключимся к контексту конфигурации и в контекстном меню нашей установки выберем пункт “Properties“. В списке атрибутов найдите атрибут objectVerison:

objectVerison 16757 – это Exchange Server 2019 CU9. Именно его мы и устанавливали. Полный перечень доступен в документации.

Установка Exchange 2019

Начиная с Exchange 2016 Microsoft решила больше не разделять роли на Client Access и Mailbox (как это было в Exchange 2013). Соответственно, у Exchange 2019 только две роли – Mailbox и Edge. В Exchange 2013 Edge сервер также присутствовал. Роли Client Access и Mailbox объединены в одну роль – Mailbox.

На момент написания статьи самой последней версией была Exchange Server 2019 CU11. Однако, мы установим Exchange 2019 CU9, а в одной из следующий статей разберем процесс установки актуальной Update Rollup. Посмотреть актуальный список версий Exchange 2019 можно в документации на сайте Microsoft.

Для Exchange 2013 и более новых версий для установки вы загружаете самый последний Cumulative Update и выполняете установку из него. Он уже содержит все необходимые файлы и все необходимые обновления.

Установка через графический мастер установки

Для того, чтобы установить Exchange через графический мастер установки выполните следующие шаги:

1. Запустить установщик из дистрибутива. Если вы еще не подготовили Active Directory, как было указано в предыдущем разделе, то учетная запись, от имени которой будет выполняться установка должна быть включена в следующие группы Active Directory: Schema Admins, Enterprise Admins и Domain Admins.

2. На шаге проверки обновлений укажем, что мы не будем проверять наличие последних обновлений:

3. На следующем шаге мастера нажмем “Next”.

4. При согласии принимаем лицензионное соглашение:

5. Укажем, что мы не планируем принимать участие в программе улучшения качества продукта:

6. Укажем, что мы будем устанавливать сервер почтовых ящиков:

7. Укажем директорию установки:

8. Мы не будем отключать сканирование на предмет вредоносного ПО:

9. Мастер установки Exchange 2019 выполнит проверку предварительных требований. Если какой-то пункт не будет выполнен, то мастер установки сообщит об этом. Нажимаем кнопку “Install”.

10. Дожидаемся окончания процедуры установки.

11. В случае успешного завершения установки мастер сообщит нам об этом:

12. Перезагружаем сервер.

Установка через командную строку

Вариант установки через командную строку гораздо более лаконичен.

Для того, чтобы установить Exchange через командную строку выполните следующие шаги:

1. Перейдите в директорию с дистрибутивом Exchange. Если вы еще не подготовили Active Directory, как было указано в предыдущем разделе, то учетная запись, от имени которой будет выполняться установка должна быть включена в следующие группы Active Directory: Schema Admins, Enterprise Admins и Domain Admins.

2. Запустите установку Exchange сервера (для версии Exchange 2019 ниже CU11):

.\Setup.exe /IAcceptExchangeServerLicenseTerms /mode:Install /r:MB

Командлет для версии Exchange 2019 CU11 или выше:

.\Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataON/mode:Install /r:MB

3. Дождитесь окончания процесса установки.

4. Перезагрузите сервер.

Проверка корректности установки

В большинстве случаев маркером успешной установки является то, что вы можете перейти в панель управления Exchange (Exchange Control Panel – ECP). Для перехода в ECP перейдите по следующей ссылке:

https://sr-mail01.itproblog.ru/ecp

При переходе по ссылке выше вы скорее всего получите предупреждение о недоверенном сертификате (т.к. сертификат самоподписанный самим сервером Exchange). В одной из следующей статье мы рассмотрим, как установить сертификат с нужным нам доменным именем и настроить пространство имен для доступа к серверу.

Первоначальная настройка Exchange 2019

После того, как мы выполнили установку нам необходимо сделать еще некоторые настройки для работы минимального набора функций. Как минимум, транспорта почты как наружу, так и из вне. Рассмотрим эти настройки в следующих подразделах.

Переименование и перенос стандартной базы данных

В процессе первоначальной настройки Exchange уже создается база данных. Правда, она носит не сильно легко запоминающееся имя и расположений в одной из директорий того пути, который вы указали и в процессе установки. С большой долей вероятности это будет системный раздел.

Что необходимо сделать:

1. Запустить модуль PowerShell для Microsoft Exchange:

2. Посмотреть список текущих баз данных. Выполните следующий командлет:

Get-MailboxDatabase -Server SR-MAIL01

2. Переименовать базу данных в конфигурации:

Get-MailboxDatabase -Identity "Mailbox Database 0284994124" | Set-MailboxDatabase -Name DB01

3. Физически база данных все еще расположена на системном разделе (в нашем случае). Имя файла с базой данных теперь не соответствует тому имени, что мы указали в конфигурации. Исправим это.

Мы перенесем её на отдельный диск, который у нас подключен к серверу. Для этого выполним следующий командлет:

Move-DatabasePath -Identity DB01 -EdbFilePath e:\DB01\db01.edb -LogFolderPath e:\DB01

Нас предупредят о том, что на время переноса почтовая база будет недоступна:

Теперь наша почтовая база расположена на нужном нам диске и наименована так, как мы и просили:

4. Процесс переноса и переименоваия базы данных завершен.

Настройка списка обслуживаемых доменов

В дальнейшем для маршрутизации почты мы будем использовать доменное имя itproblog.ru. Для того, чтобы наш сервер Exchange начал принимать почту для домена itproblog.ru необходимо ему об этом сказать. Для этого создается отдельная запись в списке обслуживаемых доменов (accepted domains).

Если домен вашей электронной почты отличается от FQDN имени домена Active Directory, то выполните следующий командлет в модули PowerShell для Microsoft Exchange:

New-AcceptedDomain -DomainName itproblog.ru -DomainType Authoritative -Name ITProBlog

Текущий список обслуживаемых доменов можно посмотреть следующим командлетом:

Get-AcceptedDomain

В списке обслуживаемых доменов вы должны увидеть ваш почтовый домен. В нашем случае это домен itproblog.ru:

Настройка адресов получателей

Если домен вашей электронной почты отличается от FQDN имени домена Active Directory, то вам необходимо добавить адреса вашего почтового домена всем необходимым получателям.

Перейдите в панель управления Exchange:

https://sr-mail01.itproblog.ru/ecp

Перейдите в раздел “Recipients” – “Mailboxes“:

На вкладке “email address” добавьте новой дополнительный адрес электронной почты.

Альтернативный способ – это использование политики именования адресов (email address policy). Пока мы не будем касаться этой темы, но для массового добавления адресов это будет более оптимальное решением.

Настройка внешних DNS записей

Для того, чтобы почтовые сервера в сети Интернет могли отправлять почту на ваш домен они должны запросить соответствующую запись у DNS сервера, который обслуживает ваш домен. Для маршрутизации почты используются MX записи. С тем, что такое MX запись и для чего она нужна более детально можно ознакомиться вот тут.

Если же кратко, то в параметрах MX записи вы определяете – на какое DNS имя должна отправляться почта для вашего домена. Что здесь указывать – зависит от вашей инфраструктуры. У кого-то “белый” IP-адрес непосредственно настроен на одном из интерфейсов почтового сервера. Тогда вы указываете этот адрес. У кого-то стоит пограничное анти-спам решение, тогда в параметрах MX записи указывается “белый” IP-адрес антиспам решения. Кто-то через NAT “пробрасывает” порт TCP/25 на внутренний IP-адрес сервера. В таком случае в параметрах MX записи вы указываете “белый” IP-адрес вашего пограничного маршрутизатора. Одно только абсолютно точно – для маршрутизации почты вам нужен “белый” IP-адрес.

Формат MX записи следующий:

Доменное имя Приоритет Имя почтового сервера
Указывается для какого доменного имени будет настроена MX запись. Если у вас несколько почтовых серверов. Например, основной и резервный, то сервер с более меньшим значением приоритета будет иметь преимущество. Например, у сервера со значением приоритета 10 будет превалировать над серверов со значением приоритета 20. Указывается доменное имя на которое необходимо направлять поток почты.

Например, настройки MX записи для домена itproblog.ru следующие:

т.е.:

Доменное имя – itproblog.ru.

Приоритет – 10.

Имя почтового сервера – mail.itproblog.ru.

Стоит отметить, что регистрация MX записи очень сильно зависит от того, кто предоставляет вам услуги DNS сервера.

Настройка коннектора отправки

На текущем этапе на сервер уже должен уметь принимать почту из вне, но он все еще не умеет отправлять почту во внешний мир. причина – он просто не знает куда и как её отправлять. Для этого необходимо ему помочь и настроить коннектор отправки.

Коннектор отправки определяет – через какой маршрут какому серверу и на какой домен разрешено отправлять электронную почту.

Создадим коннектор отправки, который ращрешит нашему сервер Exchange отправлять почту на любой домен через разрешение MX записи соответствующего домена. Если кратко – разрешим отправлять почту на любой домен. Выполните следующий командлет в модули PowerShell для Microsoft Exchange:

New-SendConnector -Name "Internet" -Usage "Internet" -SourceTransportServers "SR-MAIL01" -DNSRoutingEnabled $True -AddressSpaces ("SMTP:*;5")

Проверка корректности маршрутизации электронной почты

Собственно, теперь вы можете попробовать отправить электронное письмо как с внешней электронной почты, так и с вашего почтового ящика Exchange на адрес нашней электронной почты.

Если же транспорт почты не работает, т.е. вы не можете отправить письма наружу или получить письма из вне, то не спешите думать, что вы сделали что-то не так. В ночь с 31 декабря на 1 января 2022 у многих, кто использует Exchange 2016/2019 перестала доставляться почта. Причина – баг в программном коде встроенного антивируса.

Можете для начала выполнить вот этот командлет:

Get-MalwareFilteringServer | Set-MalwareFilteringServer -BypassFiltering $true
Restart-Service MSExchangeTransport

Если же этот “фикс” вам не помог, то далее уже нужно анализировать конфигурацию системы в целом:

  • Правильно ли зарегистрирована MX запись во внешней DNS зоне.
  • Попробуйте еще добавить SPF запись. SPF запись для домена itproblog.ru:
v=spf1 a mx -all
  • Правильно ли выполнена публикация порта TCP/25. Можете использовать, например, вот этот интсрумент для внешней проверки.
  • Правильно ли настроен коннектор отправки Exchange.
  • Не блокирует ли ваш брандмауэр входящий/исходящий SMTP траффик.
  • Может ли ваш сервер Exchange разрешать MX записи внешних почтовых доменов.

Выше приведен лишь перечень основных шагов, которые я обычно выполняю при устранении ошибок с транспортом почты.

Заключение

В этой публикации была рассмотрена установка и первоначальная настройка Exchange 2019. Мы рассмотрели довольно тривиальный вариант развертывания, но именно он позволит вам понять основные шаги на всех этапах установки. Мы рассмотрели предварительную подготовку инфраструктуры Active Directory для установки первого сервера Exchange. Далее мы выполнили непосредственно установки нашего первого сервера Exchange. В заключении мы настроили минимальные основные параметры Exchange, чтобы наш сервер электронной почты мог как отправлять электронную почту во внешний мир, так и принимать электронную почту из сети Интернет.

Надеюсь, что статья будет вам полезна, а в следующих публикация мы рассмотрим процесс обновления сервера Exchange – установку актуального Update Rollup и обновлений безопасности Exchange.

Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить Exchange Server 2019.

В данном руководстве рассматривается установка Exchange Server 2016 без реализации отказоустойчивости.

Описание требований к оборудованию для Exchange 2019 можно найти по ссылке.

Мы будем рассматривать тот случай, когда у вас уже есть два сервера с установленной на них операционной системой Windows Server 2019. Кроме того, на одном из серверов должна быть установлена роль Active Directory Domain Services.

Подробно о том, как установить Windows Server 2019, вы можете прочитать в моем руководстве “Установка Windows Server 2019”.

Кроме того, на одном из серверов должна быть установлена роль Active Directory Domain Services, а второй сервер должен быть включен в домен.

Узнать о том, как установить Active Directory Domain Services на Windows Server 2019, вы можете, прочитав “Установка Active Directory Domain Services на Windows Server 2019”.

После установки Exchange Server 2019 произвести настройку вам поможет мое руководство “Настройка Exchange Server 2019”.

Рекомендую всегда использовать англоязычные издания Exchange Server. Как показывает практика, оригинальные (английские) версии Exchange работают стабильнее, к тому же вам будет проще общаться на одном языке с профессионалами в случае возникновения проблем или при желании обменяться опытом.

Партнеры Microsoft могут загрузить актуальную версию Exchange Server 2019 по ссылке. Затем потребуется смонтировать загруженный ISO-образ в виртуальный привод.

В данном руководстве рассматривается установка Exchange Server 2019 Cumulative Update 3 (Exchange 2019 CU3, released: September 2019). Вам нужно загрузить актуальный на момент прочтения статьи Cumulative Update. Каждый CU является полной установкой Exchange, включающей в себя обновления и изменения из всех предыдущих CU. Вам не потребуется устанавливать предыдущие CU или Exchange 2019 RTM.

На Windows Server 2019 требуется установить все доступные обновления перед установкой Exchange Server 2019.

На будущем сервере Exchange заходим в систему под учетной записью, которая состоит в группах: Enterprise Admins, Schema Admins и Domain Admins.

Перед подготовкой Active Directory и установкой Exchange Server 2019 необходимо установить дополнительное программное обеспечение на будущий сервер Exchange:

  • Visual C++ Redistributable Package for Visual Studio 2012
  • Visual C++ Redistributable Package for Visual Studio 2013
  • Unified Communications Managed API 4.0

Установим Visual C++ Redistributable Package for Visual Studio 2012.

Переходим по ссылке и нажимаем на кнопку “Download”.

Установка Exchange Server 2019 на Windows Server 2019

Выбираем “VSU_4\vcredist_x64.exe” и нажимаем на кнопку “Next”.

Установка Exchange Server 2019 на Windows Server 2019

Запускаем загруженный файл установщика Visual C++ Redistributable Package for Visual Studio 2012.

Установка Exchange Server 2019 на Windows Server 2019

Далее необходимо принять условия лицензии, если вы с ними согласны, и нажать на кнопку “Install”.

Установка Exchange Server 2019 на Windows Server 2019

Установка Visual C++ Redistributable Package for Visual Studio 2012 успешно завершена.

Нажимаем на кнопку “Close”.

Установка Exchange Server 2019 на Windows Server 2019

Теперь установим Visual C++ Redistributable Package for Visual Studio 2013.

Переходим по ссылке и нажимаем на кнопку “Download”.

Установка Exchange Server 2019 на Windows Server 2019

Выбираем “vcredist_x64.exe” и нажимаем на кнопку “Next”.

Установка Exchange Server 2019 на Windows Server 2019

Запускаем загруженный файл установщика Visual C++ Redistributable Package for Visual Studio 2013.

Установка Exchange Server 2019 на Windows Server 2019

Далее необходимо принять условия лицензии, если вы с ними согласны, и нажать на кнопку “Install”.

Установка Exchange Server 2019 на Windows Server 2019

Установка Visual C++ Redistributable Package for Visual Studio 2013 успешно завершена.

Нажимаем на кнопку “Close”.

Установка Exchange Server 2019 на Windows Server 2019

Теперь установим Unified Communications Managed API 4.0.

Переходим по ссылке и нажимаем на кнопку “Download”.

Установка Exchange Server 2019 на Windows Server 2019

Запускаем загруженный файл установщика Unified Communications Managed API 4.0.

Установка Exchange Server 2019 на Windows Server 2019

Откроется “Мастер установки Unified Communications Managed API 4.0”.

Нажимаем на кнопку “Next”.

Установка Exchange Server 2019 на Windows Server 2019

Далее необходимо принять условия лицензии, если вы с ними согласны, и нажать на кнопку “Next”.

Установка Exchange Server 2019 на Windows Server 2019

Начался процесс установки “Unified Communications Managed API 4.0”.

Установка Exchange Server 2019 на Windows Server 2019

Установка “Unified Communications Managed API 4.0” успешно завершена.

Нажимаем на кнопку “Finish”.

Установка Exchange Server 2019 на Windows Server 2019

Теперь необходимо установить средства удаленного администрирования для последующей подготовки Active Directory к установке Exchange Serve 2019, а также другие компоненты, необходимые для работы сервера Exchange.

На клавиатуре нажимаем сочетание клавиш “Win” и “x” и в открывшемся меню выбираем “Windows PowerShell (Admin)”.

Установка Exchange Server 2019 на Windows Server 2019

Установим средства удаленного администрирования для последующей подготовки Active Directory к установке Exchange Server 2019 с помощью команды:

Install-WindowsFeature RSAT-ADDS

Установка Exchange Server 2019 на Windows Server 2019

Начался процесс установки средств удаленного администрирования.

Установка Exchange Server 2019 на Windows Server 2019

Процесс установки средств удаленного администрирования успешно завершен.

Далее необходимо установить обязательные компоненты для Lync Server или Skype for Business Server с помощью команды:

Install-WindowsFeature Server-Media-Foundation

Установка Exchange Server 2019 на Windows Server 2019

Начался процесс установки обязательных компонентов для Lync Server или Skype for Business.

Установка Exchange Server 2019 на Windows Server 2019

Установка обязательных компонентов для Lync Server или Skype for Business успешно завершена.

Теперь нужно установить дополнительные компоненты, необходимые для работы сервера Exchange, с помощью команды:

Install-WindowsFeature NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, 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

Установка Exchange Server 2019 на Windows Server 2019

Начался процесс установки дополнительных компонентов, необходимых для работы сервера Exchange.

Установка Exchange Server 2019 на Windows Server 2019

Установка дополнительных компонентов, необходимых для работы сервера Exchange, успешно завершена.

Теперь нужно перезагрузить сервер.

На клавиатуре нажимаем сочетание клавиш “Win” и “x”, в открывшемся меню выбираем “Shut down or sign out”, затем “Restart”.

Установка Exchange Server 2019 на Windows Server 2019

В открывшемся окне выбираем “Other (Planned)” и нажимаем на кнопку “Continue”.

Установка Exchange Server 2019 на Windows Server 2019

Сервер начнет перезагружаться.

Установка Exchange Server 2019 на Windows Server 2019

Теперь необходимо подготовить Active Directory для работы с Exchange Server.

На будущем сервере Exchange заходим в систему под учетной записью, которая состоит в группах: Enterprise Admins, Schema Admins и Domain Admins.

На клавиатуре нажимаем сочетание клавиш “Win” и “x” и в открывшемся меню выбираем “Windows PowerShell (Admin)”.

Установка Exchange Server 2019 на Windows Server 2019

Переходим на диск “D” (виртуальный привод), где находятся установочные файлы Exchange Server 2019, с помощью команды:

cd D:\

Установка Exchange Server 2019 на Windows Server 2019

Подготовим схему Active Directory для работы с Exchange Server с помощью команды:

E:\Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /PrepareSchema

Установка Exchange Server 2019 на Windows Server 2019

Начался процесс подготовки схемы Active Directory.

Установка Exchange Server 2019 на Windows Server 2019

Процесс подготовки схемы Active Directory успешно завершен.

Теперь необходимо подготовить контейнеры, объекты и другие компоненты Active Directory, а также создать организацию Exchange.

Обратите внимание, после “OrganizationName” необходимо указать название вашей организации на английском языке.

Подготовим контейнеры, объекты и другие компоненты Active Directory, а также создадим организацию Exchange, с помощью команды:

E:\Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /PrepareAD /OrganizationName:"heyValdemar"

Обратите внимание, в данном руководстве используется название организации “heyValdemar”.

Установка Exchange Server 2019 на Windows Server 2019

Начался процесс подготовки контейнеров, объектов и других компонентов Active Directory.

Установка Exchange Server 2019 на Windows Server 2019

Процесс подготовки контейнеров, объектов и других компонентов Active Directory успешно завершен.

Теперь необходимо подготовить домен для установки Exchange Server.

Подготовим домен для установки Exchange Server с помощью команды:

E:\Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /PrepareDomain:heyvaldemar.net

Обратите внимание, в данном руководстве используется домен “heyvaldemar.net”.

Установка Exchange Server 2019 на Windows Server 2019

Начался процесс подготовки домена.

Установка Exchange Server 2019 на Windows Server 2019

Процесс подготовки домена успешно завершен.

Установка Exchange Server 2019 на Windows Server 2019

Теперь можно приступить к установке Exchange Server 2019.

Переходим на диск “D” (виртуальный привод), где находятся установочные файлы Exchange Server 2019, и запускаем “Setup.exe”.

Установка Exchange Server 2019 на Windows Server 2019

На данном этапе можно проверить наличие обновлений для Exchange Server 2019.

Выбираем “Connect to the Internet and check for updates” и нажимаем на кнопку “Next”.

Установка Exchange Server 2019 на Windows Server 2019

На данный момент обновлений для Exchange Server 2019 нет.

Нажимаем на кнопку “Next”.

Установка Exchange Server 2019 на Windows Server 2019

Далее “Мастер установки Exchange Server” предлагает ознакомиться с информацией касательно Exchange Server 2019.

Нажимаем на кнопку “Next”.

Установка Exchange Server 2019 на Windows Server 2019

Далее необходимо принять условия лицензии, если вы с ними согласны, и нажать на кнопку “Next”.

Установка Exchange Server 2019 на Windows Server 2019

Выбираем “Don’t use recommended settings”, чтобы сервер Exchange автоматически не отправлял в Microsoft отчеты об ошибках и другую информацию по использованию сервера Exchange.

Нажимаем “Next”.

Установка Exchange Server 2019 на Windows Server 2019

Теперь необходимо выбрать какие роли будут установлены на ваш сервер.

Выбираем “Mailbox role”, затем выбираем “Automatically install Windows Server roles and features that are required to install Exchange Server” и нажимаем на кнопку “Next”.

Установка Exchange Server 2019 на Windows Server 2019

Далее можно выбрать каталог, куда следует установить Exchange Server 2019.

Оставляем настройки без изменений и нажимаем на кнопку “Next”.

Установка Exchange Server 2019 на Windows Server 2019

Теперь можно настроить параметры защиты от вредоносных программ.

В пункте “Disable malware scanning” выбираем “No” и нажимаем на кнопку “Next”.

Установка Exchange Server 2019 на Windows Server 2019

Далее начнется процесс проверки готовности к установке, после того как он будет завершен, можно запустить процесс установки Exchange Server 2019.

Нажимаем на кнопку “Install”.

Установка Exchange Server 2019 на Windows Server 2019

Начался процесс установки Exchange Server 2019.

Установка Exchange Server 2019 на Windows Server 2019

Установка Exchange Server 2019 успешно завершена.

Выбираем “Launch Exchange Administration Center after finishing Exchange setup” и нажимаем на кнопку “Finish”.

Установка Exchange Server 2019 на Windows Server 2019

Обратите внимание, для администрирования сервера Exchange используется панель управления Exchange Administration Center, доступная по ссылке https://heva-server-2/ecp, где heva-server-2 — имя моего сервера Exchange. Соответственно, вам необходимо указать имя или IP-адрес вашего сервера с установленным Exchange Server 2019.

Для корректного отображения панели управления Exchange Administration Center необходимо добавить адрес сервера Exchange в надежные узлы в Internet Explorer.

Нажимаем на кнопку “Add”.

Установка Exchange Server 2019 на Windows Server 2019

В поле “Add this website to the zone” указываем адрес сервера Exchange и нажимаем на кнопку “Add”.

Установка Exchange Server 2019 на Windows Server 2019

Адрес сервера Exchange добавлен в список надежных узлов.

Нажимаем на кнопку “Close”.

Установка Exchange Server 2019 на Windows Server 2019

Далее необходимо указать имя пользователя и пароль учетной записи, обладающей правами администратора Exchange, и нажать на кнопку “Sign in”.

Установка Exchange Server 2019 на Windows Server 2019

Добро пожаловать в панель управления Exchange Admin Center.

Установка Exchange Server 2019 на Windows Server 2019

Теперь можно проверить состояние служб Exchange Server.

В меню “Пуск” находим “Microsoft Exchange Server 2019” и выбираем “Exchange Management Shell”.

Установка Exchange Server 2019 на Windows Server 2019

Проверим состояние служб Exchange Server с помощью команды:

Test-ServiceHealth

Установка Exchange Server 2019 на Windows Server 2019

Проверка служб успешно завершена.

Значение “True” в “RequireServiceRunning” свидетельствует о том, что службы запущены.

Установка Exchange Server 2019 на Windows Server 2019

Время на прочтение
3 мин

Количество просмотров 19K

Microsoft Exchange — большой комбайн, который включает в себя прием и обработку писем, а также веб интерфейс для вашего почтового сервера, доступ к корпоративным календарям и задачам. Exchange интегрирован в Active Directory, поэтому представим себе, что она уже была развернута.

Ну а Windows Server 2019 Core — это версия Windows Server без графического интерфейса.

В этой версии Windows нет традиционной Windows, не на что щелкать, нет меню Пуск. Только черное окно и черная командная строка. Но в то же время меньшая область для атаки и повышенный уровень вхождения, ведь мы же не хотим, чтобы в критических системах копался кто попало, верно? 

Это руководство годится так же и для серверов с GUI.

1. Подключаемся к серверу

Открываем Powershell и вводим команду:

Enter-PSSession 172.18.105.6 -Credential Administrator

Опционально: Включаем RDP. Это упрощает установку, но вовсе не обязательно.

cscript C:\Windows\System32\Scregedit.wsf /ar 0

В образе от Ultravds RDP уже был включен.

2. Подключаем сервер к AD

Сделать это можно через Windows Admin Center или через Sconfig в RDP.

2.1 Указываем DNS серверы или контроллеры домена 

В Windows Admin Center подключаемся к серверу, переходим в раздел сети и указываем ip адреса контроллеров домена или DNS серверов домена.

Через RDP, в командную строку вводим «Sconfig» и попадаем на синее окно конфигурации сервера. Там выбираем пункт 8) Network Settings, и проделываем тоже самое, указав DNS сервером домена.

2.2 Присоединяем сервер к домену

В WAC нажимаем «Изменить идентификатор компьютера» и перед нами открывается знакомое окно выбора рабочей группы или домена. Все как обычно, выбираем домен и присоединяемся.

С помощью Sconfig Нужно сначала выбрать пункт 1, выбрать присоединяемся ли мы к рабочей группе или домену, указать домен, если присоединяемся к домену. И только после завершения процедуры нам позволят изменить имя сервера, но даже для этого потребуется ввести пароль еще раз.

Через Powershell это производится и того проще:

Add-Computer -DomainName test.domain -NewName exchange  -DomainCredential Administrator

3. Устанавливаем

Если вы используете RDP, перед установкой самого Exchange нужно установить нужные компоненты.

Install-WindowsFeature Server-Media-Foundation, RSAT-ADDS

Далее нам нужно скачать образ диска с установщиком Exchange.

Invoke-WebRequest -UseBasicParsing -Uri 'https://website.com/ ExchangeServer2019-x64.iso -OutFile C:\Users\Administrator\Downloads\ExchangeServer2019-x64.iso

Монтируем ISO:

Mount-DiskImage C:\Users\Administrator\Downloads\ExchangeServer2019-x64.iso

Если вы будете делать это все через командную строку, нужно лишь примонтировать скачанный диск и ввести команду:

D:\Setup.exe /m:install /roles:m /IAcceptExchangeServerLicenseTerms /InstallWindowsComponents

Вывод

Как видим, установка Exchange на Windows Server Core, как и вход в домен не является болезненным процессом, а учитывая, как мы выиграли в безопасности, то оно того стоило.

Особенно порадовало то, что ввести сервер в AD с помощью Powershell проще, чем через GUI или Windows Admin Center.

Жалко, что опцию установки Exchange добавили лишь для Exchange 2019, давно пора было.

В прошлых наших постах вы можете почитать рассказ как мы готовим клиентские виртуальные машины на примере нашего тарифа VDS Ultralight с Server Core за 99 рублей, посмотреть как работать с Windows Server 2019 Core и как установить на него GUI, а также как управлять сервером с помощью Windows Admin Center.

Предлагаем обновлённый тариф UltraLite Windows VDS за 99 рублей с установленной Windows Server 2019 Core.

Microsoft Exchange 2019 is the latest version of Exchange Server. It is a much faster and more reliable on-premises Exchange Server version capable of running and utilizing up to 48 processor cores and 256 GB memory. As a result, it can handle more users without any hiccups.

Steps to Deploy and Setup Microsoft Exchange Server 2019

Follow these steps in the given order to install and set up Exchange 2019 Server from scratch.

Step 1: Install Windows Server 2019

Exchange 2019 requires Windows Server 2019 with ‘Desktop Experience’ or ‘Server Core.’ The latter is preferred and recommended by Microsoft as it is considered more secure. However, it requires expert technical skills to operate or administer the server.

Download the preferred Windows Server 2019 edition and install it on a virtual or physical machine where you want to deploy the Exchange Server.

windows server 2019 installation

After Windows Server 2019 installation, check the Windows Update section and install all OS updates.

Step 2: Install Prerequisites for Microsoft Exchange 2019 Mailbox Server

Before installing Microsoft Exchange Server on Windows Server 2019, you need to prepare the system by installing the following prerequisites.

  • Install .NET Framework 4.8

Download the .NET 4.8 and install it on Windows Server 2019. Make sure to run and install the .NET software package as an administrator.

net 48 framwork installation

After the installation, click ‘Restart Now’ to reboot the system.

restart server after installation net framework

  • Install Visual C++ Redistributable Package

Download and install the Visual C++ Redistributable Package for Visual Studio 2012 and Visual Studio 2013 as administrator on the Windows Server 2019.

visual c++ 2013 installation

  • Install IIS Rewrite Module
  • Install Server Media Foundation

To install the Server Media Foundation feature, run the following command in the elevated PowerShell window.

Install-WindowsFeature Server-Media-Foundation

  • Install Unified Communications Managed API 4.0
  • Install the Remote Server Administration Toolkit and other required components via elevated PowerShell using the below command.

Install-WindowsFeature NET-Framework-45-Features, RSAT-ADDS, 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

installing exchange server prerequisites

Step 3: Install Exchange 2019 Server

To install Exchange Server 2019, download the latest Exchange Server 2019 CU and then right-click on the downloaded ISO file and choose Mount.

Open the Command Prompt and use the cd command to navigate to the ISO mount location where Exchange Setup.exe is located.

Then run the below command in Command Prompt window to prepare the Schema and the Active Directory.

Setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms_DiagnosticDataOn

Setup.exe /PrepareAD /OrganizationName:”Contoso” /IAcceptExchangeServerLicenseTerms_DiagnosticDataOn

Replace Contoso with your organization’s name.

After preparing the Active Directory and Schema for Exchange 2019, you can start the installation by running the Setup.exe file as administrator.

launch exchange server setup file for installation

Click ‘next’. Accept the license agreement and click ‘next.’

 accept the license agreement

Choose ‘Recommended settings’ and click ‘next.

choose recommended settings

Choose Mailbox Role and check ‘Automatically install Windows Server roles and features required to install Exchange Server.’ Then click ‘next’.

choose server role selection

Select the location where you want to install the Exchange Server and click ‘next.’ Prefer location other than the system drive.

choose exchange server install location

Enter your organization’s name and click ‘next.’

enter the organization name

Select No in On the Malware protection setting as you do not need it for now and can enable it later.

readiness check fix any error or warnings to install exchange server

Click Install.

exchange server 2019 installing on windows server 2019

After the installation, check if any security updates are available for the installed CU. Install them to patch the Exchange Server and protect against malicious attacks.

Setup Outlook Anywhere

To set up Outlook Anywhere, login to Exchange Admin Center (EAC) and click ‘servers.

edit exchange server 2019

Select the Exchange 2019 Server from the list and click the edit (pen) icon.

enter outlook anywhere internal external fqdn

Select ‘Outlook Anywhere,’ enter the internal and external FQDN (Fully Qualified Domain Name) and click ‘Save’.

Setup the Service Connection Point (SCP)

To set up the Service Connection Point (SCP), run the following PowerShell cmdlet in the Exchange Management Shell (EMS).

Set-ClientAccessService –Identity NameOfExchange2019Server –AutoDiscoverServiceInternalUri https://mail.YourDomainName.com/Autodiscover/Autodiscover.xml

This will start to point the users to this server.

Import the Certificates into Exchange 2019

To import the certificates into Exchange 2019 Server, you can use the PowerShell cmdlets or Exchange Admin Center (EAC). Below are the steps to import certificates into Exchange 2019.

Purchase and download the certificate from certifying authority. You can get one from hosting and domain service providers, such as GoDaddy.

import security ssl certificate exchange server

Copy the certificate to a UNC folder path location on the Exchange 2019 Server and open the EAC.

Go to servers > certificate and click on the three dots (…) icon.

Choose ‘Import Exchange Certificate.

Enter the UNC path location where the certificate is located with the certificate file name and enter the password. Click Next.

 importing exchange certificate

Choose the server from the list where you want to import the certificate and click ‘finish.’

You can now assign the certificate to the IMAP, POP, SMTP, and IIS services by following these steps:

  • Choose the imported certificate and click the ‘Edit button.
  • Select ‘services’ and click the POP, IMAP, IIS, and SMTP checkboxes.

 enable imap pop iis services

  • Click ‘Save’.

Configure Virtual Directories

The next step is to configure virtual directories. Again, you can use PowerShell cmdlets or EAC to modify or view Exchange 2019 Server virtual directories. The steps are as follows:

  • In EAC, go to server > virtual directories.
  • Double-click on OWA.
  • Type the FQDN in Internal URL and External URL sections.

configure ows

  • Repeat the steps and update the Internal and External URL fields for OAB, ECP, ActiveSync, WebServices, and MAPI.

Follow these steps to recycle the Application Pool for MSExchangeAutodiscoverAppPool to ensure the changes made take effect immediately.

  • Open IIS and expand the Exchange 2019 Server.
  • Under Application Pools, find the MSExchangeAutodiscoverAppPool.

recycle application pool

  • Under the Actions pane, click on Recycle.

At this stage, the Exchange 2019 Server is successfully deployed and ready for use. Further, you can setup Email Address Policy.

To Wrap Up

This article explains the process for deploying and setting up Exchange 2019 Server on Windows Server 2019. After setting up the server, you can create and add new mailboxes to allow users to log in and start using email services. If you already have a backup, you can restore the mailboxes from there. However, if you have EDB files containing user mailboxes from your old server, you can use an EDB to PST converter software, such as Stellar Converter for EDB. The software can extract mailboxes from offline EDB and export them directly to Office 365 or live Exchange Server, such as the newly set up Exchange 2019. The software is available for free download for evaluation purposes.


Table of Contents

  • Introduction
  • Preparation
    • 1. Enable File Sharing
    • Screenshots
  • Post options
    • Launching the EAC
    • Launching OWA and connecting to Exchange Server 2019

Introduction

In one of the previous posts we covered installing Exchange Server 2019 on Windows Server 2016/2019 Full desktop, in this article we will cover installing Exchange Server 2019 on Windows 2019 Core.

In Azure, Microsoft have the preview OS available for Server 2019 where I installed this. The basics are the same, In Azure you select a network and have an IP address assigned but in production you will most likely assign a static one. Join the machine
to the domain once done and reboot.

The next step is to copy the setup files across to the server, in my instance I used a folder called Installs.

To configure your networks, Server Name etc. you run sconfig.cmd on Server Core at the prompt. 

Preparation

We need to do a few things before starting as follows:

1. Enable File Sharing

To Enable file sharing you can run the following command:

netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes 

2. Mounting the Exchange Server 2019 ISO

Now to mount the Exchange Server 2019 ISO, you can run the following command:

Mount-DiskImage -ImagePath "C:\Installs\ExchangeServer2019-x64.iso" 

3. Installing UCMA runtime 4.0

To install UCMA runtime 4.0 as required by the setup of Exchange you can navigate to the UCMARedist folder in the ISO and run the setup.

4. Installing Visual C++ 2013 Redistributable Package

Once that is done you can install Visual C++ 2013 which you need to download unfortunately but it will hopefully be included in the Full release of Exchange Server 2019.

5. Install Exchange Server 2019

Now we can proceed to the installation of Exchange Server 2019, you can launch it by running the following command below, make sure you are in the ISO folder:

Setup.EXE /Mode:Install /InstallWindowsComponents /IAcceptExchangeServerLicenseTerms /Roles:MB

You will notice in the command above, I let the installation handle the Windows Prerequisites, if you prefer to install them manually then you will need to run the following before you attempt the Exchange Installation:

Install-WindowsFeature Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-Static-Content,Web-Http-Redirect,Web-Health,Web-Http-Logging,Web-Log-Libraries,Web-Request-Monitor,Web-Http-Tracing,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Security,Web-Filtering,Web-Basic-Auth,Web-Client-Auth,Web-Digest-Auth,Web-Windows-Auth,Web-App-Dev,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Mgmt-Tools,Web-Mgmt-Compat,Web-Metabase,Web-WMI,Web-Mgmt-Service,NET-Framework-45-ASPNET,NET-WCF-HTTP-Activation45,NET-WCF-MSMQ-Activation45,NET-WCF-Pipe-Activation45,NET-WCF-TCP-Activation45,Server-Media-Foundation,MSMQ-Services,MSMQ-Server,RSAT-Feature-Tools,RSAT-Clustering,RSAT-Clustering-PowerShell,RSAT-Clustering-CmdInterface,RPC-over-HTTP-Proxy,WAS-Process-Model,WAS-Config-APIs

Screenshots

Here are a few screenshots of the Installation:

Copying files…

Configuring Prerequisites…

Setup in progress..

Still going….

Install took a while in my lab but once done it will say completed successfully and then you can reboot.

Post options

Launching the EAC

OWA for my test account….

Launching OWA and connecting to Exchange Server 2019

Below are EAC snapshots…


  • Установка iis на windows server 2012 r2
  • Установка deepin рядом с windows 10
  • Установка deepin рядом с windows 10
  • Установка iis на windows server 2008
  • Установка cups принтера на windows