Как отключить командную строку windows server

Как запретить использование командной строки (cmd.exe)

В данной статье показаны действия, с помощью которых можно запретить использование командной строки (cmd.exe).

Командная строка — эффективный инструмент для управления и настройки операционной системы Windows. В случае необходимости, для обеспечения безопасности, Вы можете запретить пользователям компьютера использование командной строки и выполнение пакетных файлов (.CMD и .BAT). Сделать это можно при помощи редактора локальной групповой политики (gpedit.msc) или с помощью редактора системного реестра Windows.

Как запретить использование командной строки в редакторе локальной групповой политики (gpedit.msc)

Чтобы запретить использование командной строки, а также выполнение набора команд в пакетном режиме, откройте редактор локальной групповой политики, для этого нажмите сочетание клавиш + R и в открывшемся окне Выполнить введите gpedit.msc и нажмите клавишу Enter ↵ или воспользуйтесь поиском в Windows.

В окне редактора локальной групповой политики разверните следующие элементы списка:

Конфигурация пользователя ➯ Административные шаблоны ➯ Система

Далее, в правой части окна дважды щелкните левой кнопкой мыши по параметру политики с названием Запретить использование командной строки

В окне Запретить использование командной строки установите переключатель из положения Не задано в положение Включено, затем в выпадающем списке Запретить также обработку сценариев в командной строке? выберите Да и нажмите кнопку OK .

Теперь при попытке запуска командной строки или при попытке запуска пакетного (командного) файла , вы увидите окно командной строки с сообщением о том, что Приглашение командной строки отключено вашим администратором. Для продолжения нажмите любую клавишу . . .

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

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

Откройте редактор реестра, для этого нажмите сочетание клавиш + R и в открывшемся окне Выполнить введите regedit и нажмите клавишу Enter ↵ или воспользуйтесь поиском в Windows.

В открывшемся окне редактора реестра перейдите по следующему пути:

Если раздел System отсутствует, то создайте его.

Далее, нажмите правой кнопкой мыши на разделе System или нажмите правой кнопкой мыши на пустой области в правой части окна и в контекстном меню выберите Создать > Параметр DWORD (32 бита). Присвойте созданному параметру имя DisableCMD.

Читайте также:  Перезагрузка компьютера при установке windows

Затем дважды щелкните мышью по параметру DisableCMD и в качестве его значения установите 1 и нажмите кнопку OK .

Чтобы разрешить использование командной строки, удалите параметр DisableCMD .
Также, чтобы запретить использование командной строки, создайте и примените файл реестра следующего содержания:

Windows Registry Editor Version 5.00.

Чтобы отменить произведенные действия, и тем самым разрешить использование командной строки, создайте и примените файл реестра следующего содержания:

Windows Registry Editor Version 5.00.

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

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

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

Преимущества 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’

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

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

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

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

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

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

Читайте также:  See windows files from linux

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

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

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

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

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

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

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

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

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

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

Теперь укажите индекс интерфейса сетевого адаптера (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

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

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

netsh Winhttp set proxy :

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

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

Или можно активировать хост на 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”

Настройка 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»

Читайте также:  Лучший современный браузер для windows

Установка обновлений в 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:

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

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

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

Install-WindowsFeature DNS -IncludeManagementTools

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

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

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

Информация о времени последних 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

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

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

Оцените статью