Windows Server Core: Базовые команды настройки и управления

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


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

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

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

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

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

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

В актуальных версиях Windows Server нельзя переключиться между GUI и Core режимом без переустановки сервера (такая возможность была только в Windows Server 2012/R2).

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

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

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

При входе на консоль хоста с Windows Server Core автоматически запускается встроенный скрипт sconfig (Server Configuration tool). Если нет, можете запустить его вручную, выполнив команду sconfig в консоли.

Отключить автозапуск SConfig при входе можно командой:

Set-SConfig -AutoLaunch $false

Утилита sconfig позволяет выполнить базовую настройку сервера из псевдографического текстового меню. Меню содержит следующие пункты:

  • 1: Domain/workgroup – изменить имя рабочей группы/добавить хост в домен
  • 2: Computer name – изменить имя компьютера (hostname)
  • 3: Add local administrators — добавить учетные записи локальных администраторов
  • 4: Remote management — разрешить/запретить удаленное управление и ответы на icmp ping в файерволе
  • 5: Update settings — настроить параметры обновления через Windows Update
  • 6: Install updates – установка обновлений
  • 7: Remote Desktop — Включить/отключить RDP
  • 8: Network settings — настроить параметры сетевых адаптеров (IP адрес, шлюз, DNS сервера).
  • 9: Date and time — настроить дату, время, часовой пояс
  • 10: Diagnostic data settings – настройки телеметрии
  • 11: Windows activation – активация Windows
  • 12: Log off user — завершить сеанс пользователя
  • 13: Restart server
  • 14: Shutdown server
  • 15: Exit to command line (PowerShell)

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

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

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

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

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

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

В Windows Server 2025/2022 по умолчанию уже используется оболочка powershell.exe.

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

Restart-Computer -Force

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

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

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

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

Вывести системную информацию о сервере можно с помощью командлета:

Get-ComputerInfo (аналог systeminfo.exe)

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

Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer

$PSVersionTable

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

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

Restart-Computer

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

logoff

Если вы установили Server Core в виртуальную машину, нужно установить специальные утилиты и драйверы для улучшенного взаимодействия гостевой Windows с гипервизоров:

Например, в случае VMware достаточно смонтировать ISO образ с VMTools и запустить установку служб интеграции из командной строки:

D:\setup64.exe

Либо для тихой установки VMtools:

Start-Process D:\setup64.exe -Wait -ArgumentList "/s","/v","/qn","REBOOT=R" -WindowStyle Hidden

Установить vmware tools в server core

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

Теперь нужно из 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>

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

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

Set-Date -Date "09/03/2025 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 2025):

slmgr /ipk TVRH6-WHNXV-R9WG3-9XRFY-MY832
slmgr /skms kms-server.winitpro.ru:1688
slmgr /ato

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

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

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

Теперь можно подключиться к консоли Windows Server Core с помощью любого RDP клиента.

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

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

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

Configure-SMRemoting.exe -Get

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

Enable-PSRemoting –force

Теперь чтобы удаленно подключиться к этому серверу с другого компьютера через PowerShell Remoting (WinRM), сначала на клиенте нужно добавить имя или IP адрес хоста Server Core в TrustedHosts:

Set-Item WSMan:\localhost\Client\TrustedHosts -Value "192.168.158.177" 

После этого можно установить удаленную интерактивную сессию с сервером с помощью Enter-PSSession:

Enter-PSSession -ComputerName "192.168.158.177" -Credential (Get-Credential)

powershell: удаленное подключение к remote server core

Сервером с 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, но можно задать параметры и вручную.

Вывести текущие настройки Windows Update:

cscript $Env:SystemRoot\system32\scregedit.wsf /AU /v

В данном случае обновления скачиваются, но не устанавливаются автоматически.

scregedit.wsf настройки windows update

Включить автоматическую установку обновлений:

cscript $Env:SystemRoot\system32\scregedit.wsf /AU 4

Отключить автоматическое обновление Windows:
cscript $Env:SystemRoot\system32\scregedit.wsf /AU 1

Получить список (историю) установленных обновлений:

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

Удаление установленного обновления:

wusa /uninstall /kb:5048667

Также для установки и управления обновлениями из командной строки удобно использовать 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

Создать новую задачу в планировщике можно с помощью командлета New-ScheduledTaskAction.

Вывести список активных заданий:

Get-ScheduledTask -TaskPath | ? state -ne Disabled

Часто используемые команды в 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-WinEvent -FilterHashtable @{logname='System';id=1074}|ft TimeCreated,Id,Message | 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 некоторые графические инструменты и консоли (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),

Для добавлений принтера нужно установить роль Print-Services:

Install-WindowsFeature Print-Services

После этого можно подключить принтер:

printui.exe /il

Чтобы отправить файл на печать:

Get-Content C:\sampletest.txt | Out-Printer

Вывести информацию об использовании файла подкачки:

Get-CimInstance Win32_PageFileUsage | Select-Object Name, AllocatedBaseSize, CurrentUsage, PeakUsage

узнать размер файла подкачки

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


Предыдущая статья Следующая статья


Комментариев: 13 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)