В этой статье я постарался собрать в одном месте основные команды 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 перед вами появляется командная строка, где нужно задать пароль локального администратора.
При входе на 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
Если вы случайно закрыли окно командной строки, нажмите сочетание клавиш Ctrl+Alt+Delete, запустите Task Manager -> File -> Run -> выполните
cmd.exe
(или
PowerShell.exe
).
Настройка Windows Server Core с помощью SCONFIG
Для базовой настройки Server Core можно использовать встроенный скрипт sconfig. Просто выполните команду sconfig в консоли. Перед вами появиться меню с несколькими пунктами:
С помощью меню Server Configuration можно настроить:
- Добавить компьютер в домен или рабочую группу;
- Изменить имя компьютера (hostname);
- Добавить локального администратора;
- Разрешить/запретить удаленное управления и ответы на icmp;
- Настроить параметры обновления через Windows Update;
- Установить обновления Windows;
- Включить/отключить RDP;
- Настроить параметры сетевых адаптеров (IP адрес, шлюз, DNS сервера);
- Настроить дату и время;
- Изменить параметры телеметрии;
- Выполнить logoff, перезагрузить или выключить сервер.
Все пункт в меню
sconfig
пронумерованы. Чтобы перейти в определенное меню наберите его номер и Enter.
В некоторых пунктах меню настройки sconfig есть вложенные пункты. Там также, чтобы перейти к определенной настройке, нужно сделать выбор цифры пункта меню.
Не будем подробно рассматривать все пункты настройки sconfig, т.к. там все достаточно просто и очевидно. Однако в большинстве случаев администраторы предпочитают использовать для настройки новых хостов с Server Core различные PowerShell скрипты. Это намного проще и быстрее, особенно при массовых развёртываниях.
Основные команды PowerShell для настройки Server Core
Рассмотрим основные команды PowerShell, которые можно использовать для настройки Server Core.
Узнать информацию о версии Windows Server и версии PowerShell:
Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer
$PSVersionTable
Для перезагрузки 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
Проверьте текущие настройки:
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
Добавить сервер в домен 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(можно быстро понять, для чего используется сервер):
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
Информация о времени последних 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.
В этой статье я постарался собрать самые нужные команды, которые нужно постоянно держать под рукой при работе с Windows Server Core. Время от времени я буду обновлять статью и добавлять новые команды, которые покажутся мне нужными для повседневной работы.
In this article, I tried to describe basic cmd and PowerShell commands used to configure and manage Windows Server Core. I think this guide will be useful both for beginners and experienced system administrators as a reference to basic Server Core administration commands.
Contents:
- Configure Windows Server Core Using SCONFIG
- Basic PowerShell Commands to Configure Server Core
- Useful Windows Server Core Commands
Server Core is a special Windows Server installation mode without most graphical tools and snap-ins. You can manage the Server Core from the command prompt or remotely (using Windows Admin Center or other tools).
Windows Server Core advantages:
- Lower resource requirements;
- Improved stability and security; fewer updates are required (due to less amount of code and used components);
- Ideally suits for use as an infrastructure role server (Active Directory domain controller, DHCP server, Hyper-V host, SMB file server, etc.).
Server Core is licensed as a common physical or virtual Windows Server instance (unlike Hyper-V Server which is totally free).
To install Windows Server 2016/2019 in the Core mode, you must select a typical installation. If you select Windows Server (Desktop Experience), the GUI version of the operating system will be installed (in previous Windows Server versions it was called a Server with a GUI).
You cannot switch between Full GUI and Core modes in Windows Server 2016/2019 without server reinstallation.
After Windows Server Core installation, you will be prompted to set a local administrator password.
When you log on to Server Core, the command prompt appears (cmd.exe). If you want the PowerShell console to be run instead of it, make some changes to the registry. Run the commands below:
Powershell.exe
Set-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows NT\CurrentVersion\WinLogon' -Name Shell -Value 'PowerShell.exe'
And restart your server:
Restart-Computer -Force
If you have accidentally closed the command prompt window, press Ctrl+Alt+Delete
, open the Task Manager -> File -> Run -> and run cmd.exe
(or PowerShell.exe
).
Configure Windows Server Core Using SCONFIG
You can use the built-in sconfig script for basic Server Core configuration. Just run the sconfig
command in your console. You will see a menu with several items:
Using the Server Configuration menu, you can do the following:
- Add a computer to a domain or a workgroup
- Change a computer name (hostname)
- Add a local administrator
- Allow/deny remote management and ICMP response
- Configure Windows Update settings
- Install Windows updates
- Enable/disable RDP
- Configure network adapter settings (IP address, gateway, DNS server)
- Set date and time
- Change telemetry settings
- Activate your Windows Server instance
- Log off, restart, or shut down your server
Each item in sconfig
has its number. To open the item you want, just type its number
and press Enter
.
Some sconfig menu items have subitems. To get to a setting, you also need to enter its number.
We will not describe all sconfig settings, since they are easy to understand. However, in most cases, administrators prefer using various PowerShell scripts to configure new hosts running Server Core. It is easier and faster, especially in mass deployment scenarios.
Basic PowerShell Commands to Configure Server Core
Let’s take a look at the basic PowerShell commands that can be used to configure Server Core.
To get information about your Windows Server build and PowerShell version:
Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer
$PSVersionTable
To restart Server Core, run this PowerShell command:
Restart-Computer
To log off your Server Core console, use the command below:
logoff
Configure Network Settings on the Server Core with PowerShell
Now you need to configure network settings using PowerShell (by default, Windows is configured to receive an IP address from DHCP). Display a list of network adapters:
Get-NetIPConfiguration
Specify an index of your network adapter interface (InterfaceIndex
) you want to change and set a new IP address and DNS servers:
New-NetIPaddress -InterfaceIndex 4 -IPAddress 192.168.1.100 -PrefixLength 24 -DefaultGateway 192.168.1.1
Set-DNSClientServerAddress –InterfaceIndex 4 -ServerAddresses 192.168.1.11,192.168.101.11
Check the current network settings:
Get-NetIPConfiguration
If you want to reset an IP address and return to getting an IP address from DHCP, run the command below:
Set-DnsClientServerAddress –InterfaceIndex 4 –ResetServerAddresses
Set-NetIPInterface –InterfaceIndex 4 -Dhcp Enabled
To enable/disable a network adapter:
Disable-NetAdapter -Name “Ethernet0”
Enable-NetAdapter -Name “Ethernet 0”
To enable, disable, or check the status of IPv6 support for your network adapter:
Disable-NetAdapterBinding -Name "Ethernet0" -ComponentID ms_tcpip6
Enable-NetAdapterBinding -Name "Ethernet0" -ComponentID ms_tcpip6
Get-NetAdapterBinding -ComponentID ms_tcpip6
To configure winhttp proxy server for PowerShell or system connections:
netsh Winhttp set proxy <servername>:<port number>
How to Set Date/Time?
You can set a date, time, or time zone using a graphical tool intl.cpl
or PowerShell:
Set-Date -Date "07/21/2021 09:00"
Set-TimeZone "Central Europe Standard Time”
Set Computer Name, Join Domain, and Activate Server Core
To change a computer name (hostname):
Rename-Computer -NewName be-srv01 -PassThru
To add a server to your on-premises Active Directory domain:
Add-Computer -DomainName "corp.woshub.com" -Restart
If you want to add additional users to the local administrators’ group, you can configure a Group Policy or add them manually:
Add-LocalGroupMember -Group "Administrators" -Member "corp\jsmith"
To activate Windows Server, enter your product key:
slmgr.vbs –ipk <productkey>
slmgr.vbs –ato
Or you may activate your host on a KMS server. For example, to activate Windows Server Core 2019 Standart on a KMS host:
slmgr /ipk N69G4-B89J2-4G8F4-WWYCC-J464C
slmgr /skms kms.corp.woshub.com:1688
slmgr /ato
Enabling Remote Administration of Windows Server Core
To allow remote access to Server Core via RDP:
cscript C:\Windows\System32\Scregedit.wsf /ar 0
To allow remote management:
Configure-SMRemoting.exe –Enable
Enable-NetFirewallRule -DisplayGroup “Windows Remote Management”
To display current Remote Management settings:
Configure-SMRemoting.exe -Get
To allow Win-RM for PowerShell Remoting:
Enable-PSRemoting –force
You can manage a server running Windows Server Core remotely from another server (using ServerManager.exe), through a browser using Windows Admin Center (WAC), or from any workstation using RSAT, you can also connect to it using RDP, PowerShell Remoting, or SSH (current Windows versions have build-in SSH server).
Configuring Windows Firewall on Server Core
You can find information about how to configure Windows Defender Firewall with PowerShell in this article. I will just show some basic commands here.
To enable Windows Defender Firewall for all profiles:
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
To change your network type from Public to Private:
Get-NetConnectionProfile | Set-NetConnectionProfile -NetworkCategory Private
To completely disable Windows Firewall (not recommended):
Get-NetFirewallProfile | Set-NetFirewallProfile -enabled false
To allow connection using remote management tools:
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"
How to Install Updates on Windows Server Core
To manage update options, it is better to use Windows Update Group Policies. However, you can set the update settings manually.
To disable automatic updates:
Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU -Name AUOptions -Value 1
To automatically download available updates:
Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU -Name AUOptions -Value 3
To get the list of installed updates:
Get-Hotfix
Or
wmic qfe list
To install Windows updates manually, you can use the wusa
tool:
wusa kbnamexxxxx.msu /quiet
To install and manage updates from the command prompt, it is convenient to use the PSWindowsUpdate module for PowerShell.
Managing Windows Core Roles, Services, and Processes
To get a list of all available roles on Windows Server Core, run the following PowerShell command:
Get-WindowsFeature
To get a list of all installed roles and features in Windows Server (thus you can quickly understand what the server is used for):
Get-WindowsFeature | Where-Object {$_. installstate -eq "installed"} | ft Name,Installstate
For example, to install the DNS role, run this command:
Install-WindowsFeature DNS -IncludeManagementTools
To get a list of all services in Windows:
Get-Service
To see all stopped services:
Get-Service | Where-Object {$_.status -eq “stopped”}
To restart a service:
Restart-Service -Name spooler
To manage processes, you can use the Task Manager (taskmgr.exe) or the PowerShell:
Get-Process cmd, wuaucl* | Select-Object ProcessName, StartTime, MainWindowTitle, Path, Company|ft
Useful Windows Server Core Commands
Finally, I will show some useful PowerShell commands and scripts I often use to manage Server Core.
Information about the status and health of physical disks (the default Storage disk management module is used):
Get-PhysicalDisk | Sort Size | FT FriendlyName, Size, MediaType, SpindleSpeed, HealthStatus, OperationalStatus -AutoSize
Free disk space information:
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
Information about the last 10 reboots of your server:
Get-EventLog system | where-object {$_.eventid -eq 6006} | select -last 10
A list of installed programs:
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize
To download and extract a ZIP file from an external website:
Invoke-WebRequest https://servername/file.zip -outfile file.zip
Expand-Archive -path '.\file.zip' -DestinationPath C:\Users\Administrator\Documents\
To copy all files from a directory to a remote computer over the network, you can use the Copy-Item cmdlet:
$session = New-PSSession -ComputerName be-dc01
Copy-Item -Path "C:\Logs\*" -ToSession $session -Destination "C:\Logs\" -Recurse -Force
To install the device driver:
Pnputil –i –a c:\install\hpspp\hpdp.inf
Microsoft also offers a special package, Server Core App Compatibility Feature on Demand (FOD), which allows you to install some graphical tools and snap-ins on Windows Core Server 2019 (MMC, Eventvwr, Hyper-V Manager, PerfMon, Resmon, Explorer.exe, Device Manager, Powershell ISE). You can download FOD as an ISO file if your Microsoft subscription is active. You can install it as follows:
Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0
Server Core App Compatibility Feature on Demand installation will use about 200 MB of additional RAM on your Server Core.
In this article, I tried to collect the most useful commands needed to administer Windows Server Core. From time to time, I will update the article and add new commands if they seem necessary for everyday work.
Практически во всех операционных системах множество функций можно запустить не только «кликом», но и с помощью определенной команды. Это касается и версии Windows для серверов. Большинство из тех команд, что используются для управления сервером, схожи с теми, что предназначены для обычной Windows. Я перечислю основные команды, которые в той или иной степени будут полезны при управлении ОС Windows Server.
Как запустить команды в терминале Windows Server
Как и в десктопной версии, все указанные команды можно запустить с помощью командной строки.
Для получения указанных прав нужно действовать следующим образом:
- Открыть строку поиска в панели «Пуск».
- Ввести в поле запрос «командная строка», можно и cmd.
- Когда соответствующее приложение выйдет, нажать на пункт «Запуск от имени администратора».
Команды можно запускать с помощью утилиты Windows PowerShell, которую также можно найти среди предустановленных программ.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Команды для Windows Server
Все указанные команды предназначены для самых разных задач. Я постараюсь рассортировать их по функционалу. В общей сложности вышло 65 команд, без учета дополнительных параметров и атрибутов в некоторых из них.
Настройка подключений
arp – данная команда предназначена для просмотра и изменения записей в кэше ARP. Это протокол, представляющий собой таблицу соответствия IP-адресов с MAC-адресами сетевых устройств.
dnscmd – диагностирует, исправляет ошибки в конфигурациях и еще выполняет множество других действий при администрировании сервера DNS.
ftp – передает туда и обратно файлы на компьютер, в котором запущена служба протокола FTP. У команды есть несколько параметров. Вот некоторые из них, которые будут наиболее полезны:
bye |
Завершает сеанс FTP на удаленном компьютере; есть аналогичная этой команда – FTP Quit |
delete |
Стирает указанные файлы на удаленном компьютере |
mget |
Копирует файлы с удаленного на локальный компьютер, используя текущий тип перемещения файлов |
mkdir |
Создает новую папку на удаленном компьютере |
open |
Подключается к указанному FTP-серверу |
rmdir |
Стирает выбранный каталог на удаленном ПК |
status |
Показывает текущее состояние FTP-подключений |
ftp trace |
Переключает трассировку пакетов, отображает внутренние вызовы функций FTP при запуске команды |
type |
Задает или отображает тип перемещения файла |
user |
Указывает пользователя для удаленного компьютера |
mdelete |
Стирает файлы на удаленном компьютере |
getmac – данный запрос определяет mac-адрес компьютера, а еще он используется для отображения mac-адресов сетевых адаптеров.
hostname – показывает наименование узла в полном имени компьютера.
ipconfig – этот параметр отображает актуальные на момент проверки параметры протокола TCP/IP. Он также применяется для обновления некоторых характеристик, задаваемых при автоматической конфигурации сетевых интерфейсов, задействующих протокол DHCP. К данной команде можно добавлять следующие атрибуты:
/all |
Выдает все доступные конфигурации IP |
/displaydns |
Отображает кэш DNS |
/flushdns |
Сбрасывает кэш DNS |
/registerdns |
Обновляет и повторно регистрирует параметры DNS |
/release |
Освобождает IP-адреса |
/renew |
Обновляет сведения для сетевых адаптеров |
/setclassid |
Меняет DHCP Class ID |
/showclassid |
Отображает DHCP Class ID |
msg – запускает отправку сообщения указанному удаленному пользователю.
mstsc – запускает подключение к удаленному рабочему столу.
net view – показывает имя компьютера в текущем домене.
netsh – сетевое служебное приложение, позволяет локально или удаленно отображать или изменять конфигурацию сети компьютера. Программу можно запустить как в командной строке, так и в Windows PowerShell.
shadow – удаленное управление активным сеансом другого пользователя.
netstat – показывает состояние TCP-подключений и портов, на которых компьютер прослушивается, статистику Ethernet, таблицу маршрутизации IP-адресов, а без использования параметров команда отображает лишь активные TCP-подключения.
nbtstat – отображает статистику протокола и активных подключений TCP/IP посредством NetBT, причем как для локального, так и для удаленных компьютеров. При использовании без параметров эта команда выдает только справочные данные.
nslookup – выдает сведения, используемые для диагностики DNS. Чаще всего используется для определения IP-адреса по доменному имени.
tracert – производит трассировку. Если говорить проще – показывает путь, по которому проходят пакеты данных при отправке из вашего компьютера в конечную точку. При этом показывает последовательно каждый этап маршрута, позволяет узнать, на каком этапе происходят крупные потери или задержки.
pathping – точно так же, как и tracert, выполняет трассировку, дополнительно предоставляя сведения о задержке сети и сетевой утрате в промежуточных узлах.
ping – проверяет подключение и доступность указанного компьютера на уровне TCP/IP. В результате показывается сообщения с информацией о получении соответствующих ответов, а также время кругового пути. Это основная команда для проверки и устранения неполадок подключения, доступности и разрешения имен.
qappsrv – показывает полный список доступных удаленных рабочих столов в текущем сеансе.
quser – выдает информацию о пользовательских сеансах на удаленный рабочий стол в текущем сеансе. Команда позволяет определить, вошел ли конкретный пользователь на конкретный сервер узла сеансов. После сканирования выдаются следующие сведения:
- имя пользователя;
- наименование сеанса на узле;
- идентификатор сеанса;
- состояние – активно или отключено;
- время простоя – означает промежуток времени с момента последнего нажатия клавиши или перемещения мыши в сеансе;
- дата и время входа пользователя.
rpcinfo – выводится список программ, установленных на удаленных компьютерах.
rasphone – инструмент для управления сетевыми подключениями, в основном используется на модемных линиях или в PPPOE, PPPTP.
route – можно просмотреть и изменить записи в локальной таблице маршрутизации IP. Если использовать без параметров, команда даст справку.
telnet – осуществление подключения по протоколу telnet. Позволяет проверять доступность портов. По умолчанию он не установлен, поэтому такая команда не всегда может сработать.
Работа в системе
at – запрос отвечает за планирование выполнения команд или запуска приложений в заданное время. Используется только совместно со службой расписания и с правами администратора.
compmgmt.msc – эта команда откроет инструмент «Управление компьютером», в котором можно просмотреть запланированные задачи, события, общие папки и пользователей. Также там есть инструмент для управления дисками, еще отображается раздел со списком служб и приложений.
control – запускает «Панель управления». Есть множество ее подвидов, позволяющих запустить окна для управления отдельными элементами. Среди них актуальными будут следующие:
- control admintools – переход в раздел «Администрирование» в панели управления.
- control color – открытие раздела Персонализация» из параметров системы, где можно настроить экран, темы, цвета и так далее.
- control folders – параметры «Проводника».
- control Userpasswords – свойства локальной учетной записи.
devmgmt.msc – команда запускает «Диспетчер устройств», утилиту для управления основными аппаратными и программными компонентами.
explorer – позволяет открыть «Проводник Windows».
logman – создает сеансы трассировки событий, управляет ими и журналами производительности, а также поддерживает многие функции мониторинга системы из командной строки.
mmc – открывает определенную консоль MMC, можно в режиме автора и с указанием версии – 32 или 64-разрядной.
mode – показывает состояние системы, изменяет параметры, перестраивает порты или устройства. При задаче команды без параметров отображаются все управляемые атрибуты консоли и доступные устройства com.
msconfig – открывает инструмент для тонкой настройки системы, управления загрузкой и автозагрузкой, а также активными службами и сервисами.
msinfo32 – запускает утилиту «Сведения о системе», где отображен полный список установленного оборудования, а также системных и программных компонентов на локальном компьютере.
PowerShell – запуск нового сеанса для утилиты Windows PowerShell через окно командной строки.
PowerShell_ise – запускает сеанс в интегрированной среде сценариев Windows PowerShell (ISE). В таком режиме можно применять необязательные настройки для открытия некоторых файлов, проводить запуск без определенного профиля и так далее.
regedit – открывается редактора реестра.
secedit – анализируется и настраивается безопасность системы, текущая конфигурация сравнивается с актуальными шаблонами безопасности.
services.msc – открывается консоль для работы со службами и сервисами.
shutdown – выключение/перезагрузка локальных или удаленных компьютеров. Для той или иной процедуры стоит использовать соответствующий параметр.
- shutdown /r – перезагрузка компьютера после завершения работы.
- shutdown /s – полное завершение работы компьютера.
systeminfo – выдача подробной информации о конфигурации компьютера и его операционной системы, включая сведения о безопасности, идентификатор продукта и свойства оборудования.
wuauclt – открывает раздел параметров «Обновления Windows».
Работа с локальными и виртуальными жесткими дисками
attach vdisk – подключает виртуальный жесткий диск с дальнейшим его отображением в меню главного компьютера в качестве локального. Для отключения его отображения должна быть использована команда detach vdisk.
chkdsk – этот запрос запускает утилиту для проверки дисков и метаданных на наличие логических и физических ошибок. При использовании без параметров лишь отображает состояние и не исправляет ошибки. Для устранения ошибок следует дополнительно вводить параметр /f. Параметр /r запустит поиск поврежденных секторов.
cleanmgr – запускает инструмент «Очистка диска», отвечающий за удаление ненужных файлов с жесткого диска компьютера. Введя отдельные параметры, можно настроить утилиту на стирание временных файлов, кэша интернета, а также провести перезапуск файлов bin.
convert – преобразует диск из одного формата в другой.
defrag – выполняет дефрагментацию файловой системы. Определяет также степень фрагментации диска, объединяет файлы для повышения производительности ОС.
dfrg.msc – с помощью этого запроса включается дефрагментатор дисков.
diskpart – открывает одноименный интерпретатор, позволяющий управлять подключенными локальными дисками, разделами, томами компьютера и виртуальными дисками тоже.
expand vdisk – расширяет созданный виртуальный жесткий диск до определенного размера, указанного в параметрах. Предварительно для выполнения данной команды рекомендуется отключить VHD.
ntbackup – запускает из командной строки резервное копирование и восстановление компьютера и файлов.
recover – проводится восстановление данных, доступных для чтения, с поврежденного или дефектного диска. Эта команда считывает файл и сектор, а затем восстанавливает данные.
sfc /scannow – выполняется проверка целостности всех защищенных системных файлов и по возможности восстановление файлов с проблемами.
Работа с файлами и папками
copy – копирует нужный файл из исходного расположение в другое.
del – удаляет один или несколько файлов. Есть аналогичная – erase. Используя определенные параметры, можно активировать запрос для подтверждения удаления, также запустить принудительное стирание файлов, доступных только для чтения.
expand – разархивирует один или несколько сжатых файлов.
fsmgmt.msc – включается консоль с общими папками в системе.
manage-bde – активирует и дезактивирует BitLocker, задает способы разблокировки, обновляет методы восстановления и разблокирует защищенные диски.
md – создает новый каталог или подкаталог. Похожая команда – это mkdir.
mqbkup – запускает инструмент для архивирования и резервного копирования сообщений MSMQ, параметров реестра на запоминающее устройство, также проводит восстановление ранее сохраненных сообщений и параметров.
Интерфейс командной строки
cls – проводит очистку командной строки.
color – меняет цвет и фон утилиты.
exit – закрывает командную строку.
help – отображает полный список команд, доступных для задействования в данном инструменте.
Заключение
Как видно, команды для Windows Server практически ничем не отличаются от тех, что используются в обычной версии системы. Разница состоит лишь в задачах – для серверной версии в ход обычно идут несколько иные запросы – команды для командной строки в Windows Server больше акцентированы на работу с подключениями и дисками.
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 in its different versions give us a range of useful options for the management and delivery of roles and services not only to the server itself but also to the client computers of the domain, hence the importance of always preserving the availability and security of this..
For administrative or support reasons, at specific times it will be necessary to shut down or restart the server for a period of time. This should only be carried out with specific orders and knowing in advance that all users are aware of this task, since otherwise we can cause failures in certain activities or prevent communication and access to shared resources.
It is well known by each of us who have or are working in Windows Server that the shutdown and restart process is usually carried out through the Start menu and by clicking on the shutdown button:
But if in TechnoWikis we tell you that this process can be done through the command line , would you do it? We already told you that managing the shutdown or restart of Windows Server can be done through commands and it is quite simple. Therefore TechnoWikis will explain some commands to perform this task and this process applies in Windows Server 2012, 2016 or 2019 equally..
To stay up to date, remember to subscribe to our YouTube channel! SUBSCRIBE
1. Shut down or restart Windows Server 2019, 2016, 2012 with Shutdown command
To use the command line, a general command called «shutdown» will be implemented, which has been integrated in all editions of Windows. Its elementary function is to turn off or restart the local or remote computer, to be taken into account, when we use this command without any parameter the device will shut down or restart immediately.
The general syntax of this command is the following:
shutdown [{-l | -s | -r | -a}] [-f] [-m [\\ device]] [-t xx] [-c "message"] [-d [u] [p] : xx: yy]
Parameters commando Shutdown
The parameters used are the following:
- -l: this parameter closes the session of the current user.
- -s: turn off the local server.
- -r: this command will be used to restart the computer after its shutdown.
- -a: it is a command with which the closing order is deleted, you can omit other parameters, minus -ly ComputerName.
- -f: this parameter forces to execute applications to proceed with the closing.
- -m [\\ ComputerName]: with this value we can indicate the equipment that has to be turned off.
- -t xx: thanks to this value we can define the timer for the shutdown of the system in xx seconds, by default its value is 20 seconds.
- -c «message»: with this parameter we can integrate a message which will be displayed in the message area of ​​the server’s shutdown window indicating that the computer has to be shut down or restarted, we can enter up to 127 characters.
- d [u] [p]: xx: yy: this is a parameter with which the code is indicated for closing, the options are u (indicates a user code), p (indicates a planned shutdown code), xx (indicates the main code (0-255)), and y (allows you to specify the secondary reason code (0-65536)).
2. Restart Windows Server 2019, 2016, 2012 with Shutdown command
Knowing the use of the shutdown command, we will see how to restart our Windows Server from the terminal.
Step 1
For an immediate restart we will execute the following. Pressing Enter will restart the system automatically.
shutdown / r / t 0
Step 2
We can enter the period of time in seconds in which the system will be restarted, for example, if we want it to restart in 1 minute we will enter the following:
shutdown / r / t 60
Step 2
The following pop-up window will automatically be displayed:
Step 3
There is indicated the time that we have defined, so, after one minute the system will be restarted:
Step 4
Now, in case of having active applications and we want to force their closing, we must execute the following:
shutdown / r / f
Step 5
In the same way, if we manage networked equipment, we can restart them remotely using the following syntax:
shutdown / r / f / m \\ EQUIPMENT
Step 6
If we want to customize the restart, we can enter a message using the -c parameter like this:
shutdown / r / t 45 -c "TechnoWikis Restart"
Step 7
As a result we will see the following:
3. Shut down Windows Server 2019, 2016, 2012 with Shutdown command
We have seen how easy it is to restart Windows Server using the command line, now, this process is similar for shutdown.
Step 1
To shut down Windows Server immediately we will execute the following:
shutdown / s / t 0
Step 2
To program the shutdown we execute:
shutdown / s / t 15
Step 3
We will see the following. There we can see a message where it says that Windows Server will close in less than a minute.
Step 4
As with the previous commands, we can force the closure of applications using:
shutdown / s / f
Step 5
To turn off a remote device we will use:
shutdown / s / f / m \\ EQUIPMENT
Step 6
Finally, to add a shutdown message we execute:
shutdown / s / t 30 -c "Shutdown TechnoWikis"
Step 7
Using one of the above commands the result will be as follows:
Thus, we already have one more solution for shutting down or restarting our Windows Server in a simple way using the shutdown command and its parameters.