Кроме того, поскольку для него не требуются все компоненты версии, включающей графический интерфейс, он требует меньше ресурсов. Server Core можно установить с установочного носителя Windows Server 2019 или развернуть различными способами из файла install.wim, расположенного на установочном носителе.
Server Core interface
Весь интерфейс Server Core представляет собой командную строку. Как показано на рисунке, для взаимодействия с командной строкой необходимо нажать Ctrl + Alt + Del, чтобы разблокировать ее. Затем вы можете войти в систему с учетной записью администратора домена или локального администратора (предварительно создав для него пароль).
Переименовать сервер, ввести в домен, настроить Windows Update, сконфигурировать подключение через RDP и выполнить другие настройки можно используя программу sconfig.exe.
После выполненных настроек можно запустить сеанс PowerShell, набрав PowerShell.exe. Хотя Server Core — это в первую очередь среда командной строки, но есть некоторые графические инструменты, которые можно запустить из командной строки или диспетчера задач. Они включают:
Диспетчер задач. Он работает так же, как и на сервере с возможностями рабочего стола или Windows 10, и его можно использовать для запуска задач, выбрав пункт «Выполнить новую задачу» в меню «Файл».
Notepad.exe. Можете запустить Блокнот для редактирования и просмотра содержимого текстовых файлов.
- MSInfo32.exe — просмотр сведений о системе, программных и аппаратных ресурсах.
- Regedit.exe and Regedt32.exe — редактирование реестра на Server Core.
- TimeDate.cpl — панель управления временем и датой.
- Intl.cpl — панель управления региональными настройками.
- Iscsicpl.exe — панель управления «Свойства: инициатор iSCSI«, для возможности подключаться к общему хранилищу через iSCSI.
Установка компонентов совместимости приложений позволяет получить доступ к еще большему количеству инструментов графического интерфейса при входе непосредственно на «рабочий стол» Server Core.
Подсказка.
Если вы введете Exit в командной строке Server Core, командная строка закроется. Чтобы вернуть командную строку назад, не обязательно перезагружать сервер, есть более простой способ. Нажмите Ctrl-Alt-Del, выберите «Диспетчер задач», нажмите «Файл» — «Выполнить новую задачу» и введите cmd.exe. Это откроет командную строку без необходимости выхода из системы или перезагрузки компьютера.
Роли Server Core
Server Core поддерживает следующие роли, которые можно установить с помощью командлета PowerShell Add-WindowsFeature
, или мастера добавления ролей и компонентов, доступного в консоли Server Manager, или с помощью Windows Admin Center с удаленного компьютера, как показано на рисунке ниже.
Microsoft рекомендует управлять всеми серверами удаленно. На самом деле не имеет значения, что Server Core не имеет графического интерфейса, потому что в этом случае не нужно входить в систему локально. Вместо этого происходит подключение с помощью инструментов удаленного администрирования.
Windows Server 2012 и Windows Server 2012 R2 позволяют переключаться между вариантами Server Core и Server with Desktop Experience (Рабочим столом). Это дает возможность развернуть Server with Desktop Experience, а затем сократить его до Server Core, если обнаружится, что компоненты рабочего стола будут больше не нужны. Если не удается запустить определенное приложение на Server Core, всегда можно установить Desktop Experience. Windows Server 2019 не предоставляет такой возможности, поэтому выбирать версию нужно еще на этапе планирования, в противном случае придется выполнять повторную установку OS.
Совместимость приложений с Server Core
Одна из проблем использования приложений в Windows Server Core в том, что многие приложения так или иначе зависят от графического интерфейса. И развернув редакцию Core можно получить неработоспособное приложение.
Функции совместимости приложений по требованию (App Compatibility Features on Demand, FOD) повышают совместимость Server Core для большого количества приложений. Также устанавливаются дополнительные диагностические инструменты для устранения неполадок и отладки операций, включая:
Консоль управления (mmc.exe), просмотр событий (Eventvwr.msc), монитор производительности (PerfMon.exe) и ресурсов (Resmon.exe), диспетчер устройств (Devmgmt.msc), управление дисками (diskmgmt.msc), управление кластером (CluAdmin.msc).
Если сервер имеет доступ к Windows Update, можно выполнить онлайн-установку FOD, выполнив следующую команду из сеанса PowerShell и перезагрузить сервер:
Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0
Если доступа к интернету нет, то вначале нужно заранее загрузить iso образ «Features on Demand» с веб-сайта Microsoft и установить, выполнив две команды. Первая монтирует iso образ, а вторая устанавливает компоненты.
Mount-DiskImage -ImagePath X:ISO_FolderISO_filename.iso Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0 -Source Mounted_Server_FOD_Drive -LimitAccess
В каких случаях устанавливать Server Core
Нужно заранее определить, подойдет ли Server Core для конкретной рабочей ситуации. Он идеально подходит для ролей инфраструктурного типа, таких как контроллер домена, DNS-сервер, DHCP-сервер и файловый сервер. Server Core является менее подходящим, в приложениях, имеющих сложные зависимости. При установке такой программы нужно заранее убедиться в ее работоспособности в режиме Windows Core.
По причине прожорливости Windows-систем в среде VPS доминируют легкие Linux-дистрибутивы: Mint, Colibri OS, Debian или Ubuntu, лишенные ненужного, в рамках наших задач, тяжеловесного окружения рабочего стола. Как говорится, только консоль, только хардкор! И на самом деле, это совершенно не преувеличение: тот же Debian стартует на 256 MB памяти и одном ядре с тактом 1 Ghz, то есть почти на любом «пне». Для комфортной работы понадобятся от 512 MB и процессор чуть пошустрее. Но что если мы скажем вам, что примерно то же можно провернуть на VPS под Windows? Что не нужно накатывать тяжеловесный Windows Server, который требует от трех-четырех гектаров оперативной памяти и минимум пару ядер с тактом в 1,4 GHz? Просто воспользуйтесь Windows Server Core — избавьтесь от GUI и части служб. О том как это сделать и поговорим в статье.
Кто такой этот ваш Windows Server Core?
Внятной информации, что такое Windows (server) Core нет даже на официальном сайте майков, точнее, там все так запутанно, что и не сразу поймешь, но первые упоминания датируются еще эпохой Windows Server 2008. По сути, Windows Core — это работоспособное ядро Windows Server (внезапно!), «похудевшее» на размер собственного GUI и примерно половины побочных служб.
Основная фишка Windows Core — нетребовательность по железу и полностью консольное управление через PowerShell.
Если обратиться к сайту Microsoft и проверить технические требования, то для старта Windows Server 2016/2019 вам понадобится от 2 гигов оперативной памяти и минимум одно ядро с тактом 1,4 GHz. Но все мы понимаем, что на такой конфигурации мы можем ожидать только старта системы, но уж точно не комфортной работы нашей ОС. Именно по этой причине для работы Windows Server обычно выделяют побольше памяти и минимум 2 ядра/4 потока от процессора, если вовсе не предоставляют ей дорогую физическую машину на каком-нибудь Xeon, вместо дешевой виртуалки.
При этом само ядро серверной системы требует всего 512 MB памяти, а те ресурсы процессора, которые отжирались GUI просто для того, чтобы просто отрисовываться на экране и поддерживать запущенными свои многочисленные службы, можно пустить на что-то более полезное.
Вот сравнение поддерживаемых из коробки служб Windows Core и полноценной Windows Server с официального сайта Microsoft:
Как видно, из Windows Core вырезано очень многое. Под нож пошли службы и процессы, связанные с GUI системы, а также всякий «мусор», который однозначно не понадобится на нашей консольной виртуалке, например, Windows Media Player.
Почти как Linux, но не он
Windows Server Core очень хочется сравнивать с Linux-дистрибутивами, но на самом деле это не совсем корректно. Да, эти системы схожи между собой в плане пониженного потребления ресурсов за счет отказа от GUI и многих побочных служб, но в плане эксплуатации и некоторых подходов к сборке, это все еще Windows, а не unix-система.
Самый простой пример — с помощью ручной сборки ядра Linux и последующей установки пакетов и служб, даже легчаший Linux-дистрибутив можно превратить в нечто тяжеловесное и похожее на швейцарский нож (тут очень хочется баянисто пошутить про Python и вставить картинку из серии «If Programming Languages Were Weapons», но мы не будем). В Windows Core такой свободы намного меньше, ведь мы, все же, имеем дело с продуктом Microsoft.
Windows Server Core поставляется уже готовой сборкой, дефолтную комплектацию которой можно оценить по таблице выше. Если вам понадобится что-нибудь из списка неподдерживаемого, то придется онлайн через консоль добавлять недостающие элементы. Правда, не стоит забывать про Feature on demand и возможность выкачать компоненты в качестве CAB-файлов, которые потом можно добавить в сборку перед установкой. Но этот сценарий не работает, если вы уже в процессе работы обнаружили, что вам не хватает какой-либо из вырезанных служб.
Но что выгодно отличает Core-версию от полной — это возможность обновления системы и добавления служб без остановки работы. Windows Core поддерживает раскатку пакетов «на горячую», без ребута. Как итог исходя из практических наблюдений: машину под управлением Windows Core нужно перезагружать в ~6 раз реже, нежели под управлением Windows Server, то есть раз в полгода, а не раз в месяц.
Приятным бонусом для администраторов будет то, что если системой пользоваться, как было задумано — через консоль, без RDP — и не делать из нее второй Windows Server, то она становится крайне секьюрной по сравнению с полной версией. Ведь большинство уязвимостей Windows Server приходится именно на RDP и действия пользователя, который через этот самый RDP делает то, что не следовало бы. Это примерно как в истории с Генри Фордом и его отношению к цвету автомобиля: «Any customer can have a car painted any color that he wants so long as it is black». Так и с системой: пользователь может каким угодно способом общаться с системой, главное, чтобы он делал это через консоль.
Установка и управление Windows Server 2019 Core
Ранее мы упоминали, что Windows Core — это фактически Windows Server без обертки GUI. То есть вы можете воспользоваться почти любой версией Windows Server в качестве core-версии, то есть отказаться от GUI. Для продуктов семейства Windows Server 2019 это 3 из 4 серверных билда: core-режим доступен для Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter и Hyper-V Server 2019, то есть из этого списка выпадает только Windows Server 2019 Essentials.
При этом установочный пакет Windows Server Core особо не нужно искать. В стандартном инсталляторе от Microsoft core-версия предлагается буквально по умолчанию, когда как версию с GUI надо выбирать вручную:
Вариантов управления системой, на самом деле, больше, чем один упомянутый PowerShell, который и предлагается производителем по умолчанию. Управлять виртуальной машиной на Windows Server Core можно минимум пятью разными способами:
- Remote PowerShell;
- Remote Server Administration Tools (RSAT);
- Windows Admin Center;
- Sconfig;
- Server Manager.
Наибольший интерес представляют первые три позиции: стандартный PowerShell, RSAT и Windows Admin Center. Однако важно понимать, что получая преимущества одного из инструментов, мы получаем и накладываемые им ограничения.
Расписывать возможности консоли мы не будем, PowerShell — это PowerShell, со своими очевидными плюсами и минусами. Вот с RSAT и WAC все немного сложнее.
WAC дает доступ к таким важным элементам управления системой, как редактирование реестра и управление дисками и устройствами. RSAT в первом случае работает только в режиме просмотра и не позволит внести какие-либо изменения, а для управления дисками и физическими устройствами Remote Server Administration Tools нужен GUI, что не про наш случай. Вообще, RSAT не может в работу с файлами и, соответственно, обновлениями, установкой/удалением программ в редактирование реестра.
▍Управление системой
С другой стороны, RSAT дает нам полный контроль за ролями на машине, когда как Windows Admin Center не может в этом плане буквально ничего. Вот сравнение возможностей RSAT и WAC в этом аспекте, для наглядности:
▍Управление ролями
То есть уже видно, что при отказе от GUI и PowerShell в пользу других элементов управления, отделаться использованием какого-то моноинструмента не выйдет: для полноценного администрирования по всем фронтам нам понадобится как минимум связка из RSAT и WAC.
При этом нужно помнить, что за использование WAC придется заплатить 150-180 мегабайтами оперативной памяти. Windows Admin Center при подключении создает 3-4 сессии на стороне сервера, которые не убиваются даже при отключении инструмента от виртуальной машины. Еще WAC не работает со старыми версиями PowerShell, так что вам понадобится минимум PowerShell 5.0. Все это идет вразрез с нашей парадигмой жесткой экономии ресурсов, но за комфорт нужно платить. В нашем случае — оперативной памятью.
Еще один вариант управления Server Core — установка GUI сторонними средствами, чтобы не тащить те тонны мусора, которые идут в полноценной сборке вместе с интерфейсом.
В этом случае у нас есть два варианта: раскатать на систему оригинальный Explorer или воспользоваться Explorer++. Как альтернатива последнему подойдет любой файловый менеджер: Total Commander, FAR Manager, Double Commander и так далее. Последнее предпочтительнее, если для вас критична экономия оперативной памяти. Добавить Explorer++ или любой другой файловый менеджер можно через создание сетевой папки и запуск через консоль или планировщик.
Установка полноценного Explorer даст нам больше возможностей, в плане работы с программным обеспечением, оснащенным UI. Для этого нам придется обратиться к Server Core App Compatibility Feature on Demand (FOD) который вернет в систему MMC, Eventvwr, PerfMon, Resmon, Explorer.exe и даже Powershell ISE. Однако за это придется заплатить, как в случае и с WAC: мы безвозвратно потеряем около 150-200 мегабайт оперативной памяти, которые безжалостно сожрет explorer.exe и прочие службы. Даже если на машине нет активного пользователя.
Вот так выглядит потребление памяти системой на машинах с родным пакетом Explorer и без оного.
Тут возникает закономерный вопрос: а зачем все эти пляски с PowerShell, FOD, файловыми менеджерами, если любой шаг влево-вправо приводит к увеличению потребления оперативной памяти? Зачем обмазываться кучей инструментов и шарахаться из стороны в сторону, чтобы обеспечить себе комфортную работу на Windows Server Core, когда можно просто накатить Windows Server 2016/2019 и жить, как белый человек?
Причин для использования Server Core несколько. Первая: в токе почти вдвое меньшее потребление памяти. Если вы помните, это условие лежало в основе нашей статьи еще в самом ее начале. Вот для сравнения, потребление памяти Windows Server 2019, сравните со скриншотами чуть выше:
И вот, 1146 MB потребляемой памяти вместо 655 MB на Core.
Если предположить, что WAC вам не потребуется и вы будете использовать Explorer++ вместо оригинального Explorer, то вы все еще будете выигрывать почти полгектара на каждой виртуальной машине под управлением Windows Server. Если виртуалка одна, то прирост незначительный, но если их пять? Вот тут уже наличие GUI имеет значение, особенно если он вам не нужен.
Второе — любые пляски вокруг Windows Server Core не приведут вас к борьбе с главной проблемой эксплуатации Windows Server — RDP и его безопасность (точнее, полное ее отсутствие). Windows Core даже в обмазке в виде FOD, RSAT и WAC все еще сервер без RDP, то есть не подвержен 95% существующих атак.
В остатке
В целом Windows Core лишь слегка «жирнее», нежели чем любой стоковый Linux-дистрибутив, но зато куда функциональнее. Если вам нужно высвобождение ресурсов и вы готовы работать с консолью, WAC и RSAT, использовать файловые менеджеры вместо полноценного GUI — то на Core стоит обратить внимание. Тем более что с ней получится не доплачивать за полноценную Windows, а сэкономленные деньги потратить на апсет своего VPS, добавив туда, например, ОЗУ. Для удобства, мы добавили Windows Server Core в свой маркетплейс.
Windows Server Core 2019 — это вариант операционной системы Windows Server 2019, разработанный для серверов с минимальной графической оболочкой. Он предоставляет базовую функциональность серверной ОС с уменьшенным объёмом графического интерфейса пользователя, что позволяет сократить требования к ресурсам, уменьшить поверхность для атак и упростить управление и обслуживание.
Windows Server Core 2019 идеально подходит для инфраструктур, где важно минимизировать использование ресурсов и повысить безопасность, особенно в средах, где серверы управляются централизованно и удаленно.
Основным средством управления сервером в Windows Server Core является командная строка. Но зачастую для системного администрирования и автоматизации используется инструмент, который предлагает значительно более широкий функционал и гибкость за счет использования .NET объектов и сложных сценариев. Это — PowerShell.
Управление через PowerShell
Для запуска данной командной оболочки введите:
powershell
Например, следующая команда возвращает все IP-адреса на всех интерфейсах виртуального сервера:
Get-NetIPAddress
А следующая команда используется в PowerShell для установки роли Active Directory Domain Services
. Она добавляет необходимые компоненты и службы, чтобы сервер мог функционировать как контроллер домена в среде Active Directory:
Install-WindowsFeature -Name AD-Domain-Services
Чтобы проверить текущее состояние брандмауэра для всех профилей, используйте команду:
Get-NetFirewallProfile
В свою очередь следующая команда включает брандмауэр Windows для всех указанных профилей сети (Domain, Public, Private). Это означает, что брандмауэр будет активен и будет фильтровать входящий и исходящий трафик в зависимости от настроенных правил для каждого профиля:
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
При помощи PowerShell можно установить текущий часовой пояс в настройках системы:
Set-TimeZone "Russia Time Zone 3
Также PowerShell можно использовать для изменения имени компьютера. Например, следующая команда назначает хосту новое имя windows-server
, указывает, что команда должна вернуть объект, представляющий переименованный компьютер, после чего перезагружает сервер:
Rename-Computer -NewName windows-server -PassThru -Restart
При подключении к виртуальной машине на Windows Server Core по умолчанию открывается командная строка, то есть утилита cmd
. При этом операционная система предоставляет администратору возможность запускать вместо этого командную оболочку PowerShell. Чтобы это осуществить, необходимо внести некоторые изменения в системный реестр Windows.
Для установки PowerShell в качестве интерфейса по умолчанию выполните следующую команду:
Set-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows NT\CurrentVersion\WinLogon' -Name Shell -Value 'PowerShell.exe'
Затем перезагрузите систему:
Restart-Computer -Force
Основные настройки через sconfig
sconfig
— это консольный инструмент для базовой настройки сервера. Его можно запустить из командной строки командой:
sconfig
Интерфейс sconfig
представляет собой меню, состоящее из некоторого количества пунктов.
Данное меню предоставляет возможность:
- изменить принадлежность сервера к домену или рабочей группе;
- изменить имя хоста;
- добавить учётную запись локального администратора;
- сконфигурировать удалённое управление сервером;
- настроить параметры автоматического обновления операционной системы;
- проверить наличие и установить обновления операционной системы;
- включить и отключить удалённый рабочий стол;
- сконфигурировать сетевые настройки, такие как IP-адрес VPS, шлюза, DNS-сервера и т.д.;
- настроить на сервере дату и время;
- настроить уровень телеметрии, отправляемой в Microsoft;
- ввести лицензионный ключ и активировать копию операционной системы;
- выйти из текущей сессии пользователя;
- перезагрузить виртуальный сервер;
- выключить виртуальный сервер;
- покинуть интерфейс
sconfig
при помощи последнего пункта меню.
Для перехода между пунктами меню используйте соответствующее число, указанное в каждом пункте в качестве его номера.
Данный функционал помогает быстро и эффективно настраивать и управлять сервером в режиме Core без необходимости использования графического интерфейса.
В целом, работа в Windows Server Core может требовать некоторых навыков командной строки и PowerShell. При этом данный режим значительно повышает безопасность и производительность системы за счёт минимизации используемых компонентов.
Windows Server 2019 has quickly become the most powerful Windows Server operating system since its release with strong adoption across the board. I know I am using it heavily in my home lab as well as in production environments that I have been a part of. There are various Windows Server 2019 versions for you to choose. Let’s take a closer look at Windows Server 2019 versions comparison and see the different versions to choose from and what features are included with each.
What are the different versions to choose from with Windows Server 2019? A Windows Server 2019 versions comparison offers familiar options for enterprise datacenters looking to install. Rather than listing all of the features between the Windows Server 2019 versions to choose from, let’s concentrate on only the differences as this is generally what set’s each apart.
The following Windows Server 2019 Versions are available for installation:
- Windows Server 2019 Essentials
- Windows Server 2019 Standard
- Windows Server 2019 Datacenter
- Hyper-V Server 2019
Let’s look at each and see what you get with these Windows Server 2019 versions.
Windows Server 2019 Essentials
Windows Server Essentials edition is a cloud-connected Windows Server version designed for small businesses with up to 25 users and 50 devices. Microsoft is highly recommending customers to move to Microsoft 365 instead of Windows Server Essentials.
Windows Server 2019 Essentials has the same licensing and technical characteristics as Windows Server 2016. If you install the Active Directory Domain Services (domain controller) role on Windows Server 2019 Essentials, it must be the only domain controller and cannot have trusts with any other domains.
With Windows Server 2019, Essentials does sport some new hardware support and new functionality like Storage Migration Service, System Insights, and other features.
Windows Server 2019 Standard vs Datacenter
Windows Server 2019 Standard and Datacenter editions are going to be the Windows Server 2019 versions that will be found in most enterprise datacenters. Let’s take a closer look at the main differences in functionality and limitations of Standard edition when compared to Datacenter.
- Virtualization – While Windows Server 2019 Standard can be used as a virtualization guest, it is limited to 2 virtual machines, plus one Hyper-V host per license. Datacenter edition offers unlimited virtual machines plus one Hyper-V host per license.
- Network Virtualization – One of the key roles in Windows Server network virtualization is the Network controller role. Only Datacenter edition offers the Network controller role. Windows Server 2019 Datacenter edition is the only edition that offers Software-defined networking functioanlity.
- Containers – While Windows Server 2019 Standard edition can run unlimited Windows containers, it can only run two Hyper-V containers. Windows Server 2019 Datacenter edition can run unlimited Windows containers AND unlimited Hyper-V containers.
- Hyper-V Security – Using the Host Guardian service, Hyper-V virtual machines can be encrypted. This is only available with Windows Server 2019 Datacenter.
- Storage Replicas – While Windows Server 2019 Standard edition can do Storage Replica, it is limited to 1 partnership and 1 resource group with a single 2 TB volume. Windows Server 2019 Datacenter edition can participate in unlimited Storage Replicas.
- Storage Spaces Direct – The software-defined storage technology in Windows Server 2019 is limited to Windows Server 2019 Datacenter edition. S2D allows you to use locally attached storage that is aggregated into a pool of storage between the members of a Storage Spaces Direct enabled cluster.
- Inherited Activation – While Windows Server 2019 Standard edition can benefit from inherited activation if hosted on Datacenter, Windows Server 2019 Datacenter can be a host or a guest.
Hyper-V 2019 Server
The Hyper-V 2019 Server is a special-purpose Windows Server version that is made for running Hyper-V only. It is a free Windows Server version that essentially competes head-to-head with the free version of VMware’s ESXi free version.
Hyper-V 2019 is essentially Windows Server 2019 Core version with the Hyper-V role preinstalled. However, the major limitation when looking at Hyper-V 2019 is licensing of your guest virtual machines.
While with Windows Server 2019 Standard and Datacenter editions, you get included Windows Server licenses you can run for free on top of those editions, with Hyper-V 2019 Server, you don’t get any guest virtual machine Windows licenses.
This does not mean that all is lost with Hyper-V 2019 Server however. It can potentially make a great fit for Linux VDI or other Linux VM hosting since licensing would not be an issue.
If you are going to run any moderate number of Windows Server VMs on a Hyper-V 2019 Server, it makes sense to potentially bump up to Windows Server 2019 Standard or Windows Server 2019 Datacenter.
Windows Server 2019 GUI vs Core
Windows Server 2019 Core is the first version of Core available in a Windows Server edition that is gaining widespread adoption. This is mainly due to two reasons including Windows Admin Center and Feature on Demand (FoD).
Both of these tools make adopting Windows Server 2019 Core edition extremely feasible and even desirable. For years since the first release of Windows Server Core, Windows Admins have struggled with the available tooling for managing and configuring Windows Server Core. However, this has all changed with WAC and FoD as mentioned.
Now Windows admins have the tools needed to effectively administrate the platform and reap all the security and other benefits that come along with the Core version of the server.
Wrapping Up
In this Windows Server 2019 versions comparison, we have seen the various features and functionality between the respective versions and the use cases they each fit more so than the others.
Understanding the differences can help choose the right version of Windows Server 2019 and achieve the right balance between the features you need and the cost of a license.
Check out our recent blog posts covering Windows Server 2019:
- Windows Server 2019 VMware Snapshot Bug
- Automate Windows Server 2019 Core Installation and Deployment
- Managing Windows Server 2019 Core with Windows Admin Center
- Windows Server 2019 Automating Windows Update with PowerShell and Logs
- Windows Server 2019 Unattended Install Windows Updates
Brandon Lee is the Senior Writer, Engineer and owner at Virtualizationhowto.com, and a 7-time VMware vExpert, with over two decades of experience in Information Technology. Having worked for numerous Fortune 500 companies as well as in various industries, He has extensive experience in various IT segments and is a strong advocate for open source technologies. Brandon holds many industry certifications, loves the outdoors and spending time with family. Also, he goes through the effort of testing and troubleshooting issues, so you don’t have to.
When deploying your Windows server, you can choose either Server with Desktop Experience or Server Core. Read on to find out which one of these is right for you.
One of the best things about having your own dedicated server is the flexibility it provides, whether you need a particular operating system, or a custom software configuration. Want to know more? Our blog post What is a dedicated server? covers the pros, cons and everything in between.
And in the case of Windows Server 2019, you have two installation choices:
- Server with Desktop Experience
- Windows Server Core
But what are the actual differences between these installation options? And which one should you choose to suit your Windows Server applications? In this blog post we’ll break down everything you need to know about these two forms.
Windows Server contains a number of new features compared to the 2016 edition:
- Storage Migration Service makes it easier to migrate data, security, and configurations from legacy systems (such as Windows Server 2016 Core) to Windows Server 2019
- System Insights brings local predictive analytics based on AI
- Data deduplication for ReFS helps to maximise the use of free space
- Cluster-wide monitoring monitors usage in real time and alerts you to incidents
- Virtual network peering provides high-speed connectivity between two virtual networks.
There are plenty more features including a whole host of security enhancements and feature improvements. Microsoft has published a full list of the differences between both the latest Windows Desktop Experience and Windows Server 2016 (core included), if you need to refamiliarise yourself with the 2019 system.
What is Windows Server Desktop Experience?
Windows Server Desktop Experience is the classic, and arguably the most well-known, Windows Server. Did you know it has been with us since the iconic Windows NT operating system from 1993? As you can tell by the name, Desktop Experience contains a standard graphical user interface, referred to as GUI, and the full package of tools for Windows Server 2019. This makes the Desktop Experience much more user-friendly, and it’s a lot easier to manage locally or remotely.
With a Desktop installation, you get a GUI that works the same way as the desktop version of Windows, plus a full range of software components that allow your server to fulfil a large number of server roles.
Windows Server 2019 launched with the following products in its family:
- Windows Server 2019 Standard (Server Core or Desktop Experience)
- Windows Server 2019 Datacenter (Server Core or Desktop Experience)
- Windows Server 2019 Essentials (Desktop Experience only)
- Hyper-V Server 2019 — (Server Core only)
What is Windows Server Core?
Server Core is the minimal installation option that comes without a GUI, and is essentially a simplified version of Windows Server. Instead of the traditional desktop interface, a Core installation is designed to be managed remotely, or it can be managed locally via the command line using Windows PowerShell — but this is certainly not an easy task, even for the most experienced administrators out there.
While Core includes most of the standard server roles, it leaves out many support features that aren’t required for the most common applications.
Pros and cons of Server Core
Let’s talk about some of the pros and cons of Server Core.
One of the biggest advantages behind the development of Server Core is security. Core installations have a smaller footprint – with lower consumption of CPU, RAM and disk space – and fewer services running, and less code overall. This means that Server Core presents a smaller ‘attack surface’, or in other words, fewer entry points for attackers to exploit. Core generally requires less management as there are fewer services and features to maintain, so fewer things can go wrong.
Another advantage of Core is reduced storage requirements and memory usage – this offers minor performance and cost benefits on a single server, but over multiple machines it can add up dramatically.
One advantage of turning off unneeded functionality can be reduced vulnerability to malware attacks and other online threats – although it’s important to remember that vulnerabilities can still be present on Windows Server Core, which can also be a disadvantage.
Due to its smaller footprint, it’s also easier to manage, with fewer patches and updates being released. This means fewer restarts – and when you’re dealing with servers, you’ll want to minimise downtime.
Aesthetics are also not one of the pros when it comes to Server Core. Once the initial installation has finished, the system simply boots up and prompts you for a password in a pretty simple and non-intuitive way. It’s not the most user-friendly of systems.
As we’ve mentioned earlier, Server Core is designed to be managed remotely, and that presents its own complications.
When using Server Core, you can disable Windows Update simply by setting updates to manual via a server configuration. This means that the system won’t check for updates or download them – Windows will display a slightly passive aggressive statement of ‘System will never check for updates’, highlighting that it is now your responsibility to check for and install updates as and when you would like to.
Ultimately, Server Core is a “more with less” kind of system – there are fewer resources consumed by the operating system, and more resources available for the user. Of course, there is a downside to that. Server Core doesn’t display the traditional “desktop experience”, which is due to the lack of GUI to manage the server locally. However, Server Core can be “upgraded” to have a GUI-based tool, which does allow it to be managed locally in a way that’s more user-friendly. But that still doesn’t mean that it won’t make for tricky work.
Limitations of Server Core
Without going into the details too much, Windows Server with Desktop Experience can perform the same functionalities as Server Core, but the latter is considered to be the better performer. But – and this is a big but – the same doesn’t ring true the other way around. Server Core doesn’t have the same level of compatibility as Windows Server when it comes to certain applications and features. The main reason for this is that those require a GUI to function properly.
The applications listed below are those that are incompatible with Server Core:
- Microsoft Server Virtual Machine Manager 2019 (SCVMM)
- System Centre Data Protection Manager 2019
- Sharepoint Server 2019
- Project Server 2019
Microsoft have also stated that the following capabilities – amongst others – are not supported by Server Core:
- Windows Tiff IFilter
- Internet Printing Client
- RAS Connection Manager Kit
- Simple TCP/IP Services
- TFTP Client
- Windows Search Service
- XPS Viewer
Windows Server 2019 Server Core and Desktop Experience applications compatibility
Product |
Server Core |
Desktop Experience |
---|---|---|
Azure DevOps Server 2019 | Yes* | Yes |
Azure DevOps Server 2020 | Yes* | Yes |
Configuration Manager (ver. 1806) | Yes** | Yes** |
Exchange Server 2019 | Yes | Yes |
Host Integration Server 2016, CU3 | Yes | Yes |
Office Online Server | No | Yes |
Project Server 2016 | No | Yes |
Project Server 2019 | No | Yes |
Project Server Subscription Edition | Yes | Yes |
SharePoint Server 2016 | No | Yes |
SharePoint Server 2019 | No | Yes |
SharePoint Server Subscription Edition | Yes | Yes |
Skype for Business 2019 | No | Yes |
SQL Server 2014 | Yes* | Yes |
SQL Server 2016 | Yes* | Yes |
SQL Server 2017 | Yes* | Yes |
SQL Server 2019 | Yes* | Yes |
System Center Data Protection Manager 2019 | No | Yes |
System Center Operations Manager 2019 | Yes* | Yes |
System Center Virtual Machine Manager 2019 | Yes* | Yes |
What is Features on Demand?
Windows Server 2019 Features on Demand (FOD) is only available for Server Core. Think of FOD as a pack of features or tools which is available from Microsoft as an extension – this means they are installed separate from the Windows installation. Fancy downloading Windows Server 2019 Features on Demand? You can do so for free with an ISO file here (link is a direct download.)
So, should I choose Windows Desktop Experience or Server Core?
If you’re flipping back and forth between Desktop Experience and Server Core, then you need to make up your mind before installation. Once your chosen product is installed, you can’t then make the switch from one to the other.
A Windows Server 2019 Desktop installation is only really required if you need the full desktop GUI, or the associated management tools.
It can make perfect sense to go with Desktop, however. If you simply prefer a traditional desktop GUI and out-of-the-box setup process, or if you need accessibility tools and audio support, a Desktop installation is definitely the way forward. It comes with more capabilities and features that are pre installed by default. This means that there’s more available to you straight away, rather than needing to take multiple steps to install, but this can make Desktop Experience a much heavier option. It can consume more resources and can operate slower, both of which make it more vulnerable to cyber attacks. You’ll also find it needs more patches and restarts.
For most users, Server Core is recommended. If you’re confident using Windows PowerShell, a GUI isn’t required for the majority of server roles. It also tends to be better suited to remotely managing a server. It’s also worth noting that most of the applications that are technically unavailable on Core can still be run remotely from a client Windows machine. If you’re willing to put the effort in then you stand to reap the benefits from Server Core. As we’ve mentioned above, it’s certainly not “pretty” or user-friendly, and it isn’t meant to be managed locally. On the other hand, Server Core is less vulnerable, it consumes fewer resources and requires fewer restarts and updates. So if you’re willing to put that hard work in, you’ll see more return in resource availability.
Whether you opt for full-fat Desktop or no-frills Core, at Fasthosts we offer a choice of operating systems across our dedicated server range – including Windows Server 2019. Contact our experts to discuss how we can provide your ideal server today.