Netsh — как управлять сетями с помощью команд Netsh

Каждый, кто работает с сетевыми конфигурациями Windows, рано или поздно сталкивается с Network Shell (Netsh). Этот термин обозначает интерфейс между пользователями и операционной системой, который позволяет администрировать и настраивать параметры локальной и удаленной сети.

Сфера применения включает в себя настройки брандмауэра Windows и управление LAN/WLAN, а также конфигурацию IP-адресов и серверов. Кроме того, сетевая инфраструктура может быть защищена от внешних атак. Используя инструмент командной строки, можно также диагностировать проблемы и проводить ремонтные работы в сети. Большим преимуществом Netsh является возможность быстрого и удобного выполнения задач администрирования, связанных с сетью, а также возможность автоматизации с помощью сценариев.

Команды Netsh: запуск командной строки

Для использования Netsh необходимо получить доступ к командной строке. В ней можно открыть меню «Выполнить» следующим образом:

  1. Нажмите комбинацию клавиш [Windows] + [R].
  2. Введите «cmd» в поле ввода (1)
  3. Нажмите кнопку «OK» (2)

После этого запустится командная строка. После ввода «netsh» и подтверждения нажатием [Enter] откроется служебная программа.

Если команды и скрипты Netsh не запускаются или планируется более фундаментальное вмешательство в конфигурацию сети, необходимо запустить Network Shell с правами администратора. Эти шаги необходимы в Windows 10:

  1. Щелкните правой кнопкой мыши на значке Windows в левой части панели задач или нажмите комбинацию клавиш [Windows] + [X].
  2. В появившемся контекстном меню выберите пункт «Командная строка (администратор)»:

Netsh включает в себя программный файл netsh.exe, расположенный в системной папке Windows (%windir%system32). Прямое открытие этого файла упрощает процедуру ввода команд Netsh. Вы можете ввести путь C:WindowsSystem32netsh.exe в адресную строку проводника Windows и нажать [Enter]. После этого вы можете сразу же вводить команды Netsh в появившемся окне ввода.

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

  1. Щелкните правой кнопкой мыши на рабочем столе Windows. Нажмите на пункт меню «Создать» (1), а затем в следующем контекстном меню выберите пункт «Ярлык» (2):
  1. В помощнике создания ярлыка введите путь C:WindowsSystem32netsh.exe (1) и нажмите «Далее» (2):
  1. Вы должны дать ярлыку подходящее имя (1); ярлык будет помещен на рабочий стол после нажатия кнопки «Готово» (2):

Как работает Netsh

Сервисная программа Netsh предоставляет обширный синтаксис команд. Если вы хотите выполнить определенные задачи, вам потребуется ознакомиться с конкретной структурой Network Shell. Структура сервисной программы основана на контекстах, которые представляют различные уровни администрирования. Каждый контекст охватывает определенную сетевую функциональность (например, конфигурацию IP, локальной сети и брандмауэра). Программа использует файлы библиотеки динамических связей (DLL) для контекстно-связанного взаимодействия с другими компонентами Windows. Например, Netsh использует Dhcpmon.dll для изменения и управления настройками DHCP.

Чтобы использовать контекст, необходимо переключиться на него в командной строке Windows. Например, доступ к контексту «Администрирование локальной сети» осуществляется следующим образом:

  1. Открыв командную строку, введите «netsh» и подтвердите нажатием [Enter].
  2. Затем введите «lan» и подтвердите ввод нажатием [Enter].
  3. Теперь командная строка покажет изменение контекста: netsh lan>

После перехода в контекст «LAN» будет доступен ряд контекстно-специфических и межконтекстных команд. К контекстно-специфическим командам относится команда «set» (которая настраивает параметры интерфейсов). Примером общей и межконтекстной команды Netsh является команда справки «/?», в которой перечислены доступные подконтексты и команды в каждом разделе. Введя ее в разделе «LAN», вы получите следующий список контекстно-специфических и межконтекстных команд:

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

Помимо контекстно-привязанной структуры, есть и другие особые моменты, которые необходимо учитывать при использовании программы. Netsh можно использовать в неинтерактивном или интерактивном режиме. В неинтерактивном режиме, например, важные сетевые настройки экспортируются в текстовый файл и повторно импортируются для последующего восстановления.

В интерактивном режиме можно инициировать прямые запросы. Если ввести команду «netsh interface ip show address», будет отображен текущий IP-адрес компьютера. Интерактивный режим может использоваться в режиме онлайн или офлайн. В онлайн-режиме операции выполняются напрямую, а в автономном режиме действия сохраняются и выполняются позже. Сохраненные действия активируются в нужное время с помощью команды Netsh «commit».

Команды Netsh и их контексты

Мы обобщили основные команды Netsh с кратким объяснением контекстов в таблице ниже. В случае общих, кросс-контекстных команд дополнительные пояснения не требуются (правая колонка). В зависимости от версии операционной системы и роли в сети (клиент или сервер), доступные команды могут отличаться в некоторых случаях. Запись команд на компьютере с центром обработки данных Windows Server 2016 выглядит следующим образом:

Команда Реализация Netsh context managed
.. Переключение на уровень контекста выше  
? Отображает список команд  
прервать Удаляет изменения, сделанные в автономном режиме  
add Добавляет запись конфигурации в список  
advfirewall Переключает на контекст «netsh advfirewall». Брандмауэр (политики и конфигурация)
alias Добавляет псевдоним  
branchcache Переход к контексту «netsh branchcache». Настройки кэша филиалов
bridge Переход к контексту «netsh bridge». Сетевой мост
пока Завершает работу программы  
commit Применяет изменения, сделанные в автономном режиме  
удалить Удаляет запись конфигурации из списка записей  
dhcpclient Переключается на контекст «netsh dhcpclient». клиент DHCP
dnsclient Переход к контексту «netsh dnsclient». Настройки DNS клиента
дамп Отображает сценарий конфигурации  
exec Запускает файл сценария  
exit Завершает работу программы  
firewall Переключает на контекст «netsh firewall». Брандмауэр (политики и конфигурация)
help Отображает список команд  
http Переключение на контекст «netsh http» Драйвер сервера HTTP (http.sys)
интерфейс Переключает на контекст «netsh interface». Конфигурация IP (v4, v6)
ipsec Переход к контексту «netsh ipsec». Политики IPSEC
ipsecdosprotection Переход к контексту «netsh ipsecdosprotection». Защита от атак типа «отказ в обслуживании» IPSEC
lan Переключение на контекст «netsh lan». Проводные сетевые интерфейсы
пространство имен Переключение на контекст «netsh namespace». Клиентские политики DNS
netio Переключение на контекст «netsh netio». Фильтры обязательств
автономный Устанавливает текущий режим на автономный  
онлайн Устанавливает текущий режим в онлайн  
popd Переключается на контекст, сохраненный через pushd в стеке  
pushd Применяет текущий контекст к стеку  
quit Завершает работу программы  
ras Переключается на контекст «netsh ras». Сервер удаленного доступа
rpc Переключение на контекст «netsh rpc» Конфигурация службы RPC
set Обновление настроек конфигурации  
show Отображает информацию  
trace Переключает на контекст «netsh trace».  
unalias Удаляет имя псевдонима  
wfp Переключение на контекст «netsh wfp». Платформа фильтрации Windows
winhttp Переключение на контекст «netsh winhttp». Настройки прокси и трассировки HTTP-клиента Windows
winsock Переход к контексту «netsh winsock». Конфигурация Winsock
wlan Переход к контексту «netsh wlan». Беспроводные сетевые интерфейсы

Параметры синтаксиса для Netsh — что они означают?

Для реализации конкретных действий и задач командам Netsh могут быть приданы необязательные параметры. Синтаксическая схема сочетания команд Netsh и параметров выглядит следующим образом:

netsh [-a AliasFile] [-c Context] [-r RemoteComputer] [-u [DomainName]UserName] [-p Password | *] [command | -f ScriptFile]

Все следующие параметры являются необязательными, поэтому их можно добавлять и использовать там, где это необходимо.

-a Возврат к командной строке Netsh после выполнения файла псевдонима
AliasFile Указывает имя текстового файла, содержащего хотя бы одну команду Netsh
-c Переключение на указанный контекст Netsh
Контекст Задание контекста, который необходимо ввести (например, WLAN).
-r Приводит к запуску команды на удаленном компьютере; на нем должна быть выполнена служба удаленной регистрации.
RemoteComputer Имя удаленного компьютера, который настраивается.
-u Указывает, что команда Netsh выполняется под учетной записью пользователя.
DomainName Указывает домен учетной записи пользователя (стандартным значением является локальный домен, если не указан специальный домен)
UserName Имя учетной записи пользователя
-p Для учетной записи пользователя может быть введен пароль
Пароль Задает пароль для учетной записи пользователя, указанной с помощью команды -u UserName
NetshCommand Команда Netsh, которую необходимо выполнить
-f Завершает работу Netsh после выполнения файла сценария
ScriptFile Сценарий, который будет запущен

Сброс стека TCP/IP с помощью Netsh

Часто команды Netsh используются для сброса стека TCP/IP, который обеспечивает обмен пакетами данных в сетях. В случае проблем с сетью и интернетом эта мера может помочь, например, устранить неисправные или неправильно настроенные протоколы TCP/IP. Следующая команда repair выполняет сброс и заново устанавливает TCP/IPv4:

netsh int ip reset

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

netsh int ip reset c:tcpipreset.txt

После выполнения сброса потребуется перезагрузить компьютер.

Совет

Команды Netsh также можно использовать в пакетных файлах (*.bat) для автоматизации рутинных задач. Узнайте больше в нашем руководстве «Удаление пакетных файлов».

Импорт и экспорт сетевых настроек

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

На первом этапе (экспорт) сетевая конфигурация считывается, записывается в текстовый файл (netcnfig.txt) и сохраняется в каталоге примеров «Network Configuration» на диске C:. Перед первым экспортом необходимо вручную создать папку «Network Configuration» на целевом диске (Netsh не выполняет этот шаг автоматически). Затем переключитесь в командную строку и введите приведенный ниже код:

netsh -c interface dump>c:Network Configurationnetcnfig.txt

Следующий ввод команды необходим для последующего импорта настроек:

netsh -f c:Network Configurationnetcnfig.txt
Совет

Windows 10 также поддерживает копирование и вставку в командной строке. Вы можете просто скопировать синтаксис команды из этой статьи и вставить его в окно ввода.

Настройка IP-адресов с помощью Netsh

Распространенным случаем использования Netsh является изменение настроек IP. Если компьютер в сети имеет не статический IP-адрес, а автоматически назначенный, используется протокол динамической конфигурации хоста (DHCP). Этот протокол связи автоматически назначает IP-адреса клиентам в сети, а также другие необходимые конфигурационные данные. Этот процесс состоит из нескольких шагов:

На первом этапе запрашиваются текущие настройки и имена доступных сетевых адаптеров:

netsh interface ipv4 show interface

Теперь определенный сетевой адаптер (в данном случае: Ethernet) определяется как адресат для назначения IP-адреса через DHCP.

netsh interface ipv4 set address name="Ethernet" source=dhcp

Далее DHCP применяет динамическое администрирование для сетевых настроек, относящихся к адаптеру Ethernet.

Активация и деактивация брандмауэра Windows

Если вы хотите активировать или деактивировать брандмауэр Windows, все, что вам нужно, это простой синтаксис команды Netsh. Брандмауэр активируется следующим образом:

netsh firewall set opmode enable 

Для деактивации брандмауэра требуется следующая команда:

netsh firewall set opmode disable
Примечание .

В некоторых ситуациях Windows рекомендует альтернативы сетевому администрированию с помощью Netsh. Здесь часто предлагается Windows PowerShell, введение в которую можно найти в нашем цифровом руководстве.

Оцените статью
cdelat.ru
Добавить комментарий