Как работать с windows core

В этой статье я постарался собрать в одном месте основные команды cmd и PowerShell, которые полезны при настройке и управлении Windows Server Core. Думаю, этот гайд будет полезен как новичкам, так и опытным системным администраторам, как справочник по базовым командам Server Core.

Содержание:

  • Настройка Windows Server Core с помощью SCONFIG
  • Основные команды PowerShell для настройки Server Core
  • Установка обновлений в Server Core
  • Часто используемые команды в Server Core

Напомним, что Server Core это особый режим установки Windows Server без большинства графических инструментов и оболочек. Управление таким сервером выполняется из командной строки или удаленно.

Преимущества Windows Serve Core:

  • Меньшие требования к ресурсам;
  • Повышенная стабильность, безопасность, требует установки меньшего количества обновлений (за счет меньшего количества кода и используемых компонентов);
  • Идеально подходит для использования в качестве сервера для инфраструктурных ролей (контроллер домена Active Directory, DHCP сервер, Hyper-V сервер, файловый сервер и т.д.).

Server Core лицензируется как обычный физический или виртуальный экземпляр Windows Server (в отличии от Hyper-V Server, который полностью бесплатен).

Для установки Windows Server 2016/2019 в режиме Core нужно выбрать обычную установку. Если вы выберите Windows Server (Desktop Experience), будет установлен GUI версия операционной системы (в предыдущих версиях Windows Server она называлась Server with a GUI).

установка windows server core 2019

После установки Windows Server Core перед вами появляется командная строка, где нужно задать пароль локального администратора.

задать пароль администратора в server core

При входе на Server Core открывается командная строка (cmd.exe). Чтобы вместо командной строки у вас всегда открывалась консоль PowerShell.exe, нужно внести изменения в реестр. Выполните команды:

Powershell.exe
Set-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows NT\CurrentVersion\WinLogon' -Name Shell -Value 'PowerShell.exe'

И перезагрузите сервер:

Restart-Computer -Force

запускать powershell вместо командной строки

Если вы случайно закрыли окно командной строки, нажмите сочетание клавиш Ctrl+Alt+Delete, запустите Task Manager -> File -> Run -> выполните
cmd.exe
(или
PowerShell.exe
).

Настройка Windows Server Core с помощью SCONFIG

Для базовой настройки Server Core можно использовать встроенный скрипт sconfig. Просто выполните команду sconfig в консоли. Перед вами появиться меню с несколькими пунктами:

настройка windows server core с помощью утилиты sconfig

С помощью меню Server Configuration можно настроить:

  • Добавить компьютер в домен или рабочую группу;
  • Изменить имя компьютера (hostname);
  • Добавить локального администратора;
  • Разрешить/запретить удаленное управления и ответы на icmp;
  • Настроить параметры обновления через Windows Update;
  • Установить обновления Windows;
  • Включить/отключить RDP;
  • Настроить параметры сетевых адаптеров (IP адрес, шлюз, DNS сервера);
  • Настроить дату и время;
  • Изменить параметры телеметрии;
  • Выполнить logoff, перезагрузить или выключить сервер.

Все пункт в меню
sconfig
пронумерованы. Чтобы перейти в определенное меню наберите его номер и Enter.

В некоторых пунктах меню настройки sconfig есть вложенные пункты. Там также, чтобы перейти к определенной настройке, нужно сделать выбор цифры пункта меню.

настройка базовых параметров server core из sconfig

Не будем подробно рассматривать все пункты настройки sconfig, т.к. там все достаточно просто и очевидно. Однако в большинстве случаев администраторы предпочитают использовать для настройки новых хостов с Server Core различные PowerShell скрипты. Это намного проще и быстрее, особенно при массовых развёртываниях.

Основные команды PowerShell для настройки Server Core

Рассмотрим основные команды PowerShell, которые можно использовать для настройки Server Core.

Узнать информацию о версии Windows Server и версии PowerShell:

Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer
$PSVersionTable

powershell узнать версию windows server

Для перезагрузки Server Core нужно выполнить команду PowerShell :

Restart-Computer

Чтобы выполнить выход из консоли Server Core, наберите:

logoff

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

Теперь нужно из PowerShell нужно настроить параметры сети (по умолчанию Windows настроена на получение адреса от DHCP). Выведите список сетевых подключений:

Get-NetIPConfiguration

Теперь укажите индекс интерфейса сетевого адаптера (InterfaceIndex), который нужно изменить и задайте новый IP адрес:

New-NetIPaddress -InterfaceIndex 4 -IPAddress 192.168.13.100 -PrefixLength 24 -DefaultGateway 192.168.13.1
Set-DNSClientServerAddress –InterfaceIndex 4 -ServerAddresses 192.168.13.11,192.168.13.

111

задать ip адрес в windows server core с помощью powershell

Проверьте текущие настройки:

Get-NetIPConfiguration

Если нужно сбросить IP адрес и вернуться к получению адреса от DHCP, выполните:

Set-DnsClientServerAddress –InterfaceIndex 4 –ResetServerAddresses
Set-NetIPInterface –InterfaceIndex 4 -Dhcp Enabled

Включить/отключить сетевой адаптер:

Disable-NetAdapter -Name “Ethernet0”
Enable-NetAdapter -Name “Ethernet 0”

Включить, отключить, проверить статус поддержки IPv6 для сетевого адаптера:

Disable-NetAdapterBinding -Name "Ethernet0" -ComponentID ms_tcpip6
Enable-NetAdapterBinding -Name "Ethernet0" -ComponentID ms_tcpip6
Get-NetAdapterBinding -ComponentID ms_tcpip6

Настроить winhttp прокси сервер для PowerShell и системных подключений:

netsh Winhttp set proxy <servername>:<port number>

Настройка времени/даты

Вы можете настроить дату, время, часовой пояс с помощью графической утилиты
intl.cpl
или с помощью PowerShell:

Set-Date -Date "09/03/2022 09:00"
Set-TimeZone "Russia Time Zone 3

Задать имя компьютера, добавить в домен, активация

Чтобы изменить имя компьютера:

Rename-Computer -NewName win-srv01 -PassThru

Rename-Computer задать имя через powershell

Добавить сервер в домен Active Directory:

Add-Computer -DomainName "corp.winitpro.ru " -Restart

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

Add-LocalGroupMember -Group "Administrators" -Member "corp\anovikov"

Для активации Windows Server нужно указать ваш ключ:

slmgr.vbs –ipk <productkey>
slmgr.vbs –ato

Или можно активировать хост на KMS сервере (например, для Windows Server 2019):

slmgr /ipk N69G4-B89J2-4G8F4-WWYCC-J464C
slmgr /skms kms-server.winitpro.ru:1688
slmgr /ato

Разрешить удаленный доступ

Разрешить удаленный доступ к Server Core через RDP:

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

Разрешить удаленное управление:

Configure-SMRemoting.exe –Enable
Enable-NetFirewallRule -DisplayGroup “Windows Remote Management”

Текущие настройки:

Configure-SMRemoting.exe -Get

Разрешить Win-Rm PowerShell Remoting:

Enable-PSRemoting –force

Сервером с Windows Server можно управлять удаленно c другого сервера (с помощью ServerManager.exe), через браузер с помощью Windows Admin Center (WAC), с любой рабочей станции с помощью инструментов администрирования RSAT, подключаться к нему по RDP, PowerShell Remoting или SSH (в современных версиях Windows есть встроенный SSH сервер).

Настройка Windows Firewall

Информация о настройке Windows Firewall есть в статье по ссылке. Здесь оставлю несколько базовых команд.

Включить Windows Defender Firewall для всех профилей:

Set-NetFirewallProfile   -Profile Domain,Public,Private -Enabled True

Изменить тип сети с Public на Private:

Get-NetConnectionProfile | Set-NetConnectionProfile -NetworkCategory Private

Полностью отключить Windows Firewall (не рекомендуется):

Get-NetFirewallProfile | Set-NetFirewallProfile -enabled false

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

Enable-NetFireWallRule -DisplayName “Windows Management Instrumentation (DCOM-In)”
Enable-NetFireWallRule -DisplayGroup “Remote Event Log Management”
Enable-NetFireWallRule -DisplayGroup “Remote Service Management”
Enable-NetFireWallRule -DisplayGroup “Remote Volume Management”
Enable-NetFireWallRule -DisplayGroup “Remote Scheduled Tasks Management”
Enable-NetFireWallRule -DisplayGroup “Windows Firewall Remote Management”
Enable-NetFirewallRule -DisplayGroup "Remote Administration"

Установка обновлений в Server Core

Для управления параметрами обновлений предпочтительно использовать групповые политики Windows Update, но можно задать параметры и вручную.

Отключить автоматическое обновление:
Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU -Name AUOptions -Value 1

Автоматически скачивать доступные обновления:
Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU -Name AUOptions -Value 3

Получить список установленных обновлений:
Get-Hotfix

Или
wmic qfe list

Для ручной установки обновлений Windows можно использовать утилиту wusa:
Wusa update_name.msu /quiet

Также для установки и управления обновлениями из командной строки удобно использовать PowerShell модуль PSWindowsUpdate.

Управление ролями, службами и процессами Windows

Для получения списка всех доступных ролей в Windows Server Core выполните команду PowerShell:

Get-WindowsFeature

список всех ролей в windows server core Get-WindowsFeature

Получить список всех установленных ролей и компонентов в Windows Server(можно быстро понять, для чего используется сервер):

Get-WindowsFeature | Where-Object {$_. installstate -eq "installed"} | ft Name,Installstate

Например, для установки службы DNS воспользуйтесь такой командой:

Install-WindowsFeature DNS -IncludeManagementTools

Список всех служб в Windows:

Get-Service

Список остановленных служб:

Get-Service | Where-Object {$_.status -eq   “stopped”}

Перезапустить службу:

Restart-Service -Name spooler

Для управление процессами можно использовать стандартный диспетчер задач (taskmgr.exe) или PowerShell модуль Processes:

Get-Process cmd, proc1* | Select-Object ProcessName, StartTime, MainWindowTitle, Path, Company|ft

Часто используемые команды в Server Core

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

Информация о статусе и здоровье физических дисков (используется стандартный модуль управления дисками Storage):

Get-PhysicalDisk | Sort Size | FT FriendlyName, Size, MediaType, SpindleSpeed, HealthStatus, OperationalStatus -AutoSize

Информация о свободном месте на диске:

Get-WmiObject -Class Win32_LogicalDisk |
Select-Object -Property DeviceID, VolumeName, @{Label='FreeSpace (Gb)'; expression={($_.FreeSpace/1GB).ToString('F2')}},
@{Label='Total (Gb)'; expression={($_.Size/1GB).ToString('F2')}},
@{label='FreePercent'; expression={[Math]::Round(($_.freespace / $_.size) * 100, 2)}}|ft

информация о дисках и свободном месте в windows server core

Информация о времени последних 10 перезагрузок сервера:

Get-EventLog system | where-object {$_.eventid -eq 6006} | select -last 10

Список установленных программ:

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize

Скачать и распаковать zip файл с внешнего сайта:

Invoke-WebRequest https://contoso/test.zip -outfile test.zip
Expand-Archive -path '.\test.zip' -DestinationPath C:\Users\Administrator\Documents\

Чтобы скопировать все файлы из каталога на удаленный компьютер по сети можно использовать Copy-Item:

$session = New-PSSession -ComputerName remotsnode1
Copy-Item -Path "C:\Logs\*" -ToSession $session -Destination "C:\Logs\" -Recurse -Force

Для установки драйвера можно использовать стандартную утилиту:

Pnputil –i –a c:\distr\hpdp.inf

Также Microsoft предлагает специальный пакет Server Core App Compatibility Feature on Demand (FOD), который позволяет установить в Windows Server 2019 некоторые графические инструменты и консоли (MMC, Eventvwr, Hyper-V Manager, PerfMon, Resmon, Explorer.exe, Device Manager, Powershell ISE). Этот FOD доступен для загрузки в виде ISO при наличии активной подписки. Установка выполняется командой:

Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0

Установка Server Core App Compatibility Feature on Demand будет использовать дополнительно около 200 Мб оперативной памяти в Server Core.

запуск explorer.exe в windows server core с помощью Server Core App Compatibility Feature on Demand (FOD),

В этой статье я постарался собрать самые нужные команды, которые нужно постоянно держать под рукой при работе с Windows Server 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 надо выбирать вручную:

image

Вариантов управления системой, на самом деле, больше, чем один упомянутый 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 представляет собой меню, состоящее из некоторого количества пунктов.

Управление системой в Windows Server Core - Интерфейс sconfig

Данное меню предоставляет возможность:

  • изменить принадлежность сервера к домену или рабочей группе;
  • изменить имя хоста;
  • добавить учётную запись локального администратора;
  • сконфигурировать удалённое управление сервером;
  • настроить параметры автоматического обновления операционной системы;
  • проверить наличие и установить обновления операционной системы;
  • включить и отключить удалённый рабочий стол;
  • сконфигурировать сетевые настройки, такие как IP-адрес VPS, шлюза, DNS-сервера и т.д.;
  • настроить на сервере дату и время;
  • настроить уровень телеметрии, отправляемой в Microsoft;
  • ввести лицензионный ключ и активировать копию операционной системы;
  • выйти из текущей сессии пользователя;
  • перезагрузить виртуальный сервер;
  • выключить виртуальный сервер;
  • покинуть интерфейс sconfig при помощи последнего пункта меню.

Для перехода между пунктами меню используйте соответствующее число, указанное в каждом пункте в качестве его номера.

Данный функционал помогает быстро и эффективно настраивать и управлять сервером в режиме Core без необходимости использования графического интерфейса.

В целом, работа в Windows Server Core может требовать некоторых навыков командной строки и PowerShell. При этом данный режим значительно повышает безопасность и производительность системы за счёт минимизации используемых компонентов.

Skip to content

How to Manage Windows Server Core

Table of Contents

  1. Windows Server Core Benefits
  2. Windows Server Core Management
  3. Managing Server Core with Remote PowerShell
  4. Sconfig
  5. Managing Server Core with Server Manager
  6. Managing Server Core with Remote Server Administration Tools (RSAT)
  7. Managing Server Core with Windows Admin Center
  8. Windows Server Core Install Considerations

The trend for both on-premises housed servers, as well as those servers in the public cloud, is leaner, is better and automation is king. This is driving servers that are “headless” or GUI-less and using configuration management tools and other automation tools to interact with and configure these server resources.

Since Windows Server 2008, Microsoft has had the Server Core version of the Windows Server operating system that could be installed rather than the full GUI enabled traditional Windows Server environment. Server Core has many advantages from a security and footprint standpoint that make it a great choice for “cattle” type servers that are part of today’s immutable infrastructure.

Protect Your Data with BDRSuite

Cost-Effective Backup Solution for VMs, Servers, Endpoints, Cloud VMs & SaaS applications. Supports On-Premise, Remote, Hybrid and Cloud Backup, including Disaster Recovery, Ransomware Defense & more!

In this post, we will take a look at:

  • Benefits of Windows Server Core
  • How to manage Windows Server Core
  • Install considerations for using Windows Server 2019

Windows Server Core Benefits

The “pets vs cattle” debate has been won by the “cattle” and immutable infrastructure is the way of the future. For agile, fast-paced infrastructure needs both on-premises and in the cloud, servers treated as “pets” that are cared for, updated, massaged to continue working, are no longer viable.

Download Banner

Immutable infrastructure dictates that a server will only exist in its current form. If there is a new software update or component required, a new server will be built to take its place. This allows for a more consistent and reliable approach to infrastructure. It leads to a more predictable and stable environment with fewer issues coming from the unknowns and artifacts left over from a previous software installation on the same server.

Since Windows Server Core does not run the classic GUI frontend for Windows Server, it is a much smaller footprint and contains much less complexity than the GUI-enabled Windows Server counterparts. This lends itself very well to automation and scalability when thinking about rolling out Windows Server deployments in mass. Mass automation is only possible by having a standardized configuration. This is how public cloud infrastructure is possible and so powerful.

Server Core lends itself to this type of operational model due to its smaller footprint including reduced hard drive space, memory consumption, and increased security posture. In fact, comparing a full installation of Windows Server with the GUI installation to a Server Core installation, organizations will see roughly a 50% reduction in space requirements.

Windows Server Core installation is actually the default installation type when performing a new Windows Server 2019 installation. As you notice, if you simply “click” through the installation of Windows Server, Windows Server 2019 Standard operating system (non-GUI) is selected as default. The GUI-enabled variants are highlighted in the Windows Setup screen below.

How to Manage Windows Server Core

Note the “Desktop Experience” for both Standard and Datacenter are not the defaults

Once organizations get on board with Windows Server Core, it has many tremendous benefits.

However, its slow adoption can be attributed to factors including the lack of comfort from an administrative standpoint in managing Windows Server Core installations. This can easily be overcome by administrators understanding and getting used to the available Server Core management tools.

Windows Server Core Management

Becoming accustomed to the management with Windows Server Core is key to successfully utilizing this powerful variant of Windows for immutable infrastructure, scripting, automation, etc. This has been the major deterrent among administrators who are used to managing Windows using the traditional Windows Server GUI. There are many tools and utilities that can be used to successfully manage and maintain Windows Server Core.

Let’s take a look at the following tools:

  • Remote PowerShell
  • Sconfig
  • Server Manager
  • Remote Server Administration Tools (RSAT)
  • Windows Admin Center

Let’s briefly look at the capabilities of each management tool and how it can be utilized.

Managing Server Core with Remote PowerShell

PowerShell is the framework for automating Microsoft Windows Server. Basically, anything you can do in the Windows GUI, you can do with Windows PowerShell. It allows effectively automating Windows Server functions so tasks and provisioning can be performed at scale when dozens or even hundreds of servers need to be configured or provisioned.

With Windows Server 2019, upon first boot, you will be prompted to change your password of the local Administrator account. Unlike previous Windows Server Core releases, the default Sconfig application does not run (more on this utility later).

Using the Get-NetIPConfiguration cmdlet to get the current IP address information.

How to Manage Windows Server Core

Using PowerShell to interact with a Windows Server 2019 Core installation

Just a quick example of having no GUI to work with and effectively renaming your Windows Server 2019 Core server with the Rename-Computer cmdlet.

The sky is the limit with PowerShell and using it for automating any of the configuration and deployment processes with Windows Server Core.

How to Manage Windows Server Core

Renaming a Windows Server Core server with PowerShell

Sconfig

The Sconfig utility is the legacy utility for managing Windows Server Core installations since the very beginning with Windows Server 2008. Sconfig is still present in Windows Server 2019 Core installations, however, it is no longer launched by default which may indicate Microsoft’s thinking on the future of the utility. It is still viable as a tool for use for now.

To launch the Sconfig utility, simply type “sconfig” from the command line or PowerShell.

How to Manage Windows Server Core

The Sconfig utility provides most of the common configuration needed for Server Core installations all in one place

Managing Server Core with Server Manager

Like the Sconfig utility, Server Manager is more of a legacy utility for managing servers now with the introduction of the Windows Admin Center. However, it is still a very viable solution for managing Windows Server Core installations. Simply add the Core Server via the Server Manager. With Server Manager, you can manage many aspects of the Windows Server Core installation, including installation and removal of Roles & Features. To get to the Server Manager utility, you can type servermanager.exe from a run or cmd window.

How to Manage Windows Server Core

Using Server Manager to manage a Windows Server 2019 Core installation

Managing Server Core with Remote Server Administration Tools (RSAT)

The Remote Server Administration Tools or RSAT allows installing the Windows Server management tools on a client workstation that can then be used to manage both local and remote servers. RSAT is not a provisioning utility, but rather is the collection of server management consoles including Server Manager that you are used to when logging into a GUI enabled server. The RSAT suite of consoles is readily available for download from Microsoft, depending on the version of Window 10 you are running, etc.

Managing Server Core with Windows Admin Center

Windows Admin Center is the big news among managing Windows Server operating systems recently. Microsoft has engineered the new Windows Admin Center as the way forward for managing its Windows Server OS’es including Server Core.

Windows Admin Center is a web-based modern Windows Server management platform that is extensible and able to manage not only Windows Server and Server Core, but also Windows HCI solutions like Storage Spaces Direct.

The Windows Admin Center or WAC provides everything at your “fingertips” for management and administration with the ability to perform many of the common types of administration tasks right from the WAC console. You can also interact with PowerShell right from within WAC.

Due to its web interface interaction, WAC can be pulled up remotely via the Gateway Mode which is the default installation on Windows Server operating systems.

How to Manage Windows Server Core

Managing a Windows Server 2019 Core installation with Windows Admin Center

Windows Server Core Install Considerations

In Windows Server 2019, the installation of Server Core needs to be determined ahead of time and administrators must make sure of either a GUI or Server Core installation. Starting with Windows Server 2016 and higher, you can no longer change between Server Core and the Desktop version of Windows Server, so there is much more finality in making that decision during the installation phase. This is certainly a consideration for installing Windows Server Core.

Additionally, becoming familiar with the management tools ahead of time is a great way for organizations to successfully utilize Windows Server core installations both on-premises and in the public cloud.

Also, can Server Core be used for anything? Not necessarily. The list of supporting roles for Server Core contains the following:

  • Active Directory Certificate Services
  • Active Directory Domain Services
  • Active Directory Federation Services
  • Active Directory Lightweight Directory Services
  • Active Directory Rights Management Services
  • Device Health Attestation
  • DHCP Server
  • DNS Server
  • File Services
  • Host Guardian Service
  • Hyper-V
  • Print and Document Services
  • Remote Access
  • Volume Activation Services
  • Web Server (IIS)
  • Windows Server Update Services

As an example, the following roles and role services are not in Windows Server Core:

  • Fax
  • MultiPointServerRole
  • NPAS
  • WDS

Role Services not in Server Core

  • Print-Scan-Server
  • Print-Internet
  • RDS-Gateway
  • RDS-RD-Server
  • RDS-Web-Access
  • Web-Mgmt-Console
  • Web-Lgcy-Mgmt-Console
  • WDS-Deployment
  • WDS-Transport (before Windows Server version 1803)

Determining if the service is available and supported for use with Server Core may determine whether it is an option for a certain use case.

Concluding Thoughts

Windows Server Core is a powerful, lightweight, and capable version of Windows that is well-suited both on-premises and in the cloud.

It allows more easily implementing automated solutions at scale and achieving the goal of immutable infrastructure. Managing and maintaining Server Core installations requires familiarity with the tools used to do so.

As shown in the post, there are many utilities and tools that can be utilized to successfully manage the “headless” Server Core installation of Windows Server. It is much more important with the latest Windows Server versions to make the correct decision on Server Core vs. Desktop edition as this can no longer be changed. Additionally, not every role is included or supported in Server Core installations.

Related Posts

Beginners Guide for Microsoft Hyper-V: How to Install Microsoft Hyper-V in Windows Server Core – Part 4
How to manage Hyper-V Server Core with Sconfig

How to Install and Configure Hyper-V Core 2019

Follow our Twitter and Facebook feeds for new releases, updates, insightful posts and more.

Try BDRSuite for Free!

Experience our cost-effective backup solution for VMs, Servers, Endpoints, Cloud VMs, and SaaS applications. Start your 30-day free trial today no credit card required and no feature restrictions!

Brandon Lee is a guest blogger for Vembu. He has been in the IT industry for over 15+ years now and has worked in various IT industries spanning education, manufacturing, hospitality, and consulting for various technology companies including Fortune 500 companies. Brandon is a prolific blogger and contributes to the community through various blog posts and technical documentation primarily at Virtualizationhowto.com

Schedule a live demo with one of our product experts

Start your full-featured 30-day free trial

Explore detailed pricing, editions & features

Кроме того, поскольку для него не требуются все компоненты версии, включающей графический интерфейс, он требует меньше ресурсов. Server Core можно установить с установочного носителя Windows Server 2019 или развернуть различными способами из файла install.wim, расположенного на установочном носителе.

Варианты установки Windows Server 2019


Server Core interface

Весь интерфейс Server Core представляет собой командную строку. Как показано на рисунке, для взаимодействия с командной строкой необходимо нажать Ctrl + Alt + Del, чтобы разблокировать ее. Затем вы можете войти в систему с учетной записью администратора домена или локального администратора (предварительно создав для него пароль).

интерфейс Server Core

Переименовать сервер, ввести в домен, настроить Windows Update, сконфигурировать подключение через RDP и выполнить другие настройки можно используя программу sconfig.exe.

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 с удаленного компьютера, как показано на рисунке ниже.

Роли и компоненты Server Core

Роли и компоненты Server Core

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

Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0

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.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Срок действия лицензионного ключа windows
  • Ошибка 0хс000012f как исправить windows 10
  • Как уменьшить время выключения компьютера windows 7
  • Dos эмулятор для windows 10 x64
  • Вывести список устройств в сети windows