Windows Server Core — это минималистичная версия Windows Server без графического интерфейса, обеспечивающая меньшие требования к ресурсам, повышенную стабильность и безопасность. Управление осуществляется через командную строку (cmd) или PowerShell, а также удаленно. Эта статья представляет собой справочник по основным командам для настройки и управления Server Core, полезный как для новичков, так и для опытных администраторов. Команды протестированы на Windows Server 2016/2019/2022.
1. Преимущества Windows Server Core
– Меньше ресурсов: Низкое потребление CPU, RAM и диска.
– Безопасность: Меньше кода и обновлений снижают уязвимости.
– Стабильность: Идеально для ролей, таких как контроллер домена, DHCP, DNS, Hyper-V или файловый сервер.
– Лицензирование: Как стандартный экземпляр Windows Server.
Примечание: В Windows Server 2016/2019/2022 невозможно переключиться между Core и GUI (Desktop Experience) без переустановки. Выбирайте режим Core при установке.
2. Начальная настройка
После установки Server Core открывается командная строка, где нужно задать пароль локального администратора.
Установка PowerShell как оболочки по умолчанию
По умолчанию открывается cmd.exe. Для запуска PowerShell вместо cmd:
Powershell.exe
Set-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows NT\CurrentVersion\WinLogon' -Name Shell -Value 'PowerShell.exe'
Restart-Computer -Force
Восстановление командной строки
Если окно cmd закрыто:
1. Нажмите Ctrl+Alt+Delete.
2. Запустите Task Manager (Диспетчер задач).
3. Выберите File -> Run (Файл -> Запустить).
4. Введите cmd.exe или PowerShell.exe.
3. Настройка с помощью SCONFIG
Утилита sconfig предоставляет текстовое меню для базовой настройки. Запустите:
sconfig
Функции SCONFIG
– Присоединение к домену/рабочей группе.
– Изменение имени компьютера.
– Добавление локального администратора.
– Настройка удаленного управления и ICMP (ping).
– Управление Windows Update (включение/установка обновлений).
– Включение/отключение RDP.
– Настройка сети (IP, шлюз, DNS).
– Установка даты/времени.
– Настройка телеметрии.
– Выход, перезагрузка или выключение сервера.
Примечание: Для выбора пункта введите его номер и нажмите Enter. SCONFIG прост в использовании, но для массовой настройки предпочтительны PowerShell-скрипты.
4. Основные команды PowerShell
Информация о системе
– Версия Windows и PowerShell:
Get-ComputerInfo | Select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer
$PSVersionTable
Перезагрузка и выход
– Перезагрузка:
Restart-Computer
– Выход из сессии:
logoff
Настройка сети
– Просмотр сетевых настроек:
Get-NetIPConfiguration
– Установка статического 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
– Проверка настроек:
Get-NetIPConfiguration
– Сброс на DHCP:
Set-DnsClientServerAddress -InterfaceIndex 4 -ResetServerAddresses
Set-NetIPInterface -InterfaceIndex 4 -Dhcp Enabled
– Включение/отключение адаптера:
Disable-NetAdapter -Name "Ethernet0"
Enable-NetAdapter -Name "Ethernet0"
– Управление IPv6:
Disable-NetAdapterBinding -Name "Ethernet0" -ComponentID ms_tcpip6
Enable-NetAdapterBinding -Name "Ethernet0" -ComponentID ms_tcpip6
Get-NetAdapterBinding -ComponentID ms_tcpip6
– Настройка прокси:
netsh winhttp set proxy:
Настройка времени и даты
– Установка даты/времени:
Set-Date -Date "09/03/2022 09:00"
– Установка часового пояса:
Set-TimeZone "Russia Time Zone 3"
Имя компьютера, домен, активация
– Изменение имени:
Rename-Computer -NewName win-srv01 -PassThru
– Присоединение к домену:
Add-Computer -DomainName "corp.softcomputers.org" -Restart
– Добавление локального администратора:
Add-LocalGroupMember -Group "Administrators" -Member "corp\anovikov"
– Активация Windows:
slmgr.vbs -ipkslmgr.vbs -ato
– Активация через KMS:
slmgr /ipk N69G4-B89J2-4G8F4-WWYCC-J464C
slmgr /skms kms-server.softcomputers.org:1688
slmgr /ato
Удаленное управление
– Включение RDP:
cscript C:\Windows\System32\Scregedit.wsf /ar 0
– Включение удаленного управления:
Configure-SMRemoting.exe -Enable
Enable-NetFirewallRule -DisplayGroup "Windows Remote Management"
– Проверка настроек:
Configure-SMRemoting.exe -Get
– Включение PowerShell Remoting:
Enable-PSRemoting -Force
Настройка брандмауэра
– Включение брандмауэра:
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
– Изменение типа сети на Private:
Get-NetConnectionProfile | Set-NetConnectionProfile -NetworkCategory Private
– Отключение брандмауэра (не рекомендуется):
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"
Управление обновлениями
– Отключение автоматических обновлений:
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
– Установка обновления:
wusa update_name.msu /quiet
– Управление обновлениями через модуль:
Install-Module -Name PSWindowsUpdate
Управление ролями и службами
– Список доступных ролей:
Get-WindowsFeature
– Список установленных ролей:
Get-WindowsFeature | Where-Object {$_.InstallState -eq "Installed"} | Format-Table Name, InstallState
– Установка роли (например, DNS):
Install-WindowsFeature DNS -IncludeManagementTools
– Список служб:
Get-Service
– Список остановленных служб:
Get-Service | Where-Object {$_.Status -eq "Stopped"}
– Перезапуск службы:
Restart-Service -Name spooler
– Управление процессами:
Get-Process cmd, proc1* | Select-Object ProcessName, StartTime, MainWindowTitle, Path, Company | Format-Table
Прочие команды
– Состояние дисков:
Get-PhysicalDisk | Sort Size | Format-Table 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)}} | Format-Table
– Время последних 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\
– Копирование файлов на удаленный компьютер:
$session = New-PSSession -ComputerName remotesnode1
Copy-Item -Path "C:\Logs\*" -ToSession $session -Destination "C:\Logs\" -Recurse -Force
– Установка драйвера:
pnputil -i -a c:\distr\hpdp.inf
5. Установка App Compatibility Feature on Demand
Для добавления ограниченного набора графических инструментов (MMC, Event Viewer, Hyper-V Manager, Device Manager, PowerShell ISE) установите Server Core App Compatibility Feature on Demand (FOD):
Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0
Примечание: Требуется ISO-образ FOD и активная подписка Microsoft. Увеличивает потребление памяти на ~200 МБ.
6. Рекомендации и устранение неполадок
– Удаленное управление: Используйте RSAT, Windows Admin Center, Server Manager, RDP или PowerShell Remoting.
– PowerShell Remoting: Убедитесь, что WinRM настроен корректно.
– Диагностика: Проверяйте журналы событий (Get-EventLog) и состояние служб.
– Сеть: Подтверждайте правильность IP и DNS перед настройкой ролей.
– Обновления: Используйте модуль PSWindowsUpdate для удобного управления.
Windows Server Core требует управления через cmd и PowerShell, что делает знание основных команд критически важным. Настройка сети, ролей, обновлений, удаленного доступа и диагностика выполняются быстро с помощью приведенных команд. Для автоматизации используйте PowerShell-скрипты, а для удобства — Windows Admin Center или RSAT. Этот справочник поможет эффективно управлять Server Core, минимизируя затраты времени и ресурсов.