NETSH (Network Shell) — интерактивная командная оболочка Windows для настройки и диагностики сетевых параметров. Одной командой NETSH можно назначить статический IP, сменить DNS-серверы, сбросить сетевой стек, управлять брандмауэром и сохранить профиль Wi-Fi — без открытия графических диалогов.
- Синтаксис команды NETSH
- Ключи и параметры
- Примеры использования
- Назначить статический IP-адрес
- Настроить DNS-сервер
- Переключить интерфейс на получение адреса по DHCP
- Сбросить сетевой стек TCP/IP и Winsock
- Просмотр текущей конфигурации всех интерфейсов
- Включить или отключить интерфейс
- Сохранить и восстановить конфигурацию брандмауэра
- Показать сохранённые Wi-Fi профили и пароли
- Частые ошибки и решения
- Когда применять, а когда нет
- FAQ
- Как узнать точное имя сетевого интерфейса для NETSH?
- Можно ли выполнять команды NETSH на удалённом компьютере?
- Как сохранить текущую сетевую конфигурацию перед изменениями?
- Что такое контекст в NETSH и как переключаться между ними?
- Чем отличается NETSH от IPCONFIG?
Синтаксис команды NETSH
netsh [-a файл_псевдонимов] [-c контекст] [-r удалённый_компьютер] [-u [домен\]пользователь] [-p пароль] [команда | -f файл_скрипта]
NETSH работает в двух режимах:
- Однострочный — вся команда передаётся как аргументы:
netsh interface ipv4 show config. - Интерактивный — запустите
netshбез аргументов, затем вводите команды в приглашенииnetsh>.
Основные контексты (подкоманды первого уровня):
interface— сетевые интерфейсы, IP, DNS, маршруты.advfirewall— расширенный брандмауэр Windows.wlan— беспроводные сети.winsock— сброс стека Winsock.http— резервирование URL, SSL-сертификаты.ras— удалённый доступ и VPN.
Ключи и параметры
| Ключ | Описание | Пример |
|---|---|---|
-r <компьютер> | Выполнить команду на удалённом компьютере (по имени или IP). | netsh -r 192.168.1.10 interface ipv4 show config |
-c <контекст> | Указать контекст для интерактивного режима при запуске. | netsh -c interface |
-f <файл> | Выполнить команды из файла-скрипта (по одной команде на строку). | netsh -f C:\scripts\net_setup.txt |
-a <файл> | Загрузить файл псевдонимов (aliases) для сокращения длинных команд. | netsh -a C:\aliases.txt |
-u <пользователь> | Подключиться к удалённому компьютеру под указанным пользователем. | netsh -r SRV01 -u Admin |
-p <пароль> | Пароль для авторизации на удалённом компьютере (вместе с -u). | netsh -r SRV01 -u Admin -p Pa$$w0rd |
Примеры использования
Назначить статический IP-адрес
Нужно присвоить интерфейсу «Ethernet» статический IP без открытия свойств адаптера:
netsh interface ipv4 set address "Ethernet" static 192.168.1.100 255.255.255.0 192.168.1.1
Аргументы: имя интерфейса, static, IP-адрес, маска подсети, шлюз. Изменения применяются немедленно.
Настроить DNS-сервер
Установить основной DNS-сервер для интерфейса:
netsh interface ipv4 set dns "Ethernet" static 8.8.8.8
Добавить резервный DNS второй записью:
netsh interface ipv4 add dns "Ethernet" 8.8.4.4 index=2
Переключить интерфейс на получение адреса по DHCP
Вернуть адаптер к автоматическому получению IP и DNS:
netsh interface ipv4 set address "Ethernet" dhcp netsh interface ipv4 set dns "Ethernet" dhcp
Сбросить сетевой стек TCP/IP и Winsock
При нарушении работы сети из-за повреждения стека TCP/IP или Winsock:
netsh int ip reset netsh winsock reset
После выполнения обеих команд обязательна перезагрузка. Команды затрагивают системные файлы — запускайте от администратора.
Просмотр текущей конфигурации всех интерфейсов
Быстро получить сводку по всем сетевым адаптерам:
netsh interface ipv4 show config
Вывод включает IP-адрес, маску, шлюз, DNS и имя интерфейса для каждого адаптера.
Включить или отключить интерфейс
Отключить сетевой адаптер без открытия диспетчера устройств:
netsh interface set interface "Ethernet" admin=disable
Включить обратно:
netsh interface set interface "Ethernet" admin=enable
Сохранить и восстановить конфигурацию брандмауэра
Экспортировать текущие правила брандмауэра в файл:
netsh advfirewall export "C:\backup\firewall.wfw"
Восстановить из резервной копии:
netsh advfirewall import "C:\backup\firewall.wfw"
Показать сохранённые Wi-Fi профили и пароли
Получить список всех сохранённых Wi-Fi сетей:
netsh wlan show profiles
Показать пароль конкретной сети:
netsh wlan show profile name="Название_сети" key=clear
Пароль находится в строке «Содержимое ключа».
Частые ошибки и решения
| Ошибка / симптом | Причина | Решение |
|---|---|---|
Доступ запрещён при изменении параметров | Команда запущена без прав администратора. | Откройте командную строку через «Запуск от имени администратора». |
Указанный интерфейс не существует | Имя интерфейса написано с ошибкой или изменилось. | Выполните netsh interface show interface для получения точного списка имён. Имена чувствительны к регистру и пробелам. |
После netsh winsock reset некоторые программы перестали выходить в сеть | Программы использовали нестандартные Winsock LSP (Layered Service Providers), которые были удалены при сбросе. | Переустановите затронутые программы (антивирусы, VPN-клиенты). Сброс Winsock нормален — LSP от легитимного ПО переустанавливаются вместе с программой. |
Ошибка синтаксиса команды | Неверная последовательность аргументов или неподдерживаемое значение. | Добавьте ? в конец текущего уровня команды: netsh interface ipv4 ? — отобразит доступные подкоманды с синтаксисом. |
| Статический IP слетает после перезагрузки | Команда set address была применена к неправильному имени интерфейса, или адаптер настроен в другом профиле сети. | Проверьте точное имя интерфейса через netsh interface show interface и повторно выполните настройку. |
Когда применять, а когда нет
NETSH незаменима при настройке серверов без GUI, автоматизации развёртывания через скрипты, удалённом администрировании через SSH или WinRM, а также при диагностике и сбросе повреждённого сетевого стека. Требует прав администратора для большинства операций изменения. Для чтения конфигурации права администратора обычно не нужны. На современных системах часть функций NETSH дублируется модулем PowerShell NetTCPIP — командлеты Set-NetIPAddress, Set-DnsClientServerAddress, Get-NetAdapter предпочтительны в новых скриптах, так как возвращают объекты и лучше интегрируются с PowerShell.
FAQ
Как узнать точное имя сетевого интерфейса для NETSH?
Выполните netsh interface show interface — в выводе будут точные имена всех адаптеров. Альтернатива: ipconfig /all — имя адаптера указано перед блоком с его параметрами.
Можно ли выполнять команды NETSH на удалённом компьютере?
Да, с помощью ключа -r имя_компьютера. Для аутентификации добавьте -u пользователь и -p пароль. Удалённое управление должно быть разрешено на целевом компьютере.
Как сохранить текущую сетевую конфигурацию перед изменениями?
Экспортируйте конфигурацию интерфейсов командой netsh interface ipv4 show config > C:\backup\ip_config.txt. Это текстовый снимок — для восстановления придётся применить команды вручную или написать скрипт.
Что такое контекст в NETSH и как переключаться между ними?
Контекст — это раздел настроек (interface, wlan, advfirewall и т.д.). В интерактивном режиме наберите имя контекста и нажмите Enter — приглашение изменится на netsh interface>. Для возврата на уровень выше введите ...
Чем отличается NETSH от IPCONFIG?
IPCONFIG только читает конфигурацию сетевых интерфейсов и выполняет операции с DHCP-арендой. NETSH позволяет читать и изменять практически все сетевые параметры системы, включая брандмауэр, Wi-Fi, маршруты и Winsock.


