Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сетевая оболочка (netsh) — это универсальная и комплексная программа командной строки для настройки, управления и мониторинга сетевых компонентов и ролей сервера в системах Windows и Windows Server. С помощью netsh
функции можно просматривать и изменять параметры сети, автоматизировать задачи и устранять неполадки сети локально или удаленно.
Во многих сценариях команды netsh предлагают эквивалентную функциональность в модулях Майкрософт Менеджмент Консоль (MMC) для управления ролями и функциями сетевого сервера. Это позволяет администраторам выполнять задачи конфигурации и управления с помощью графического интерфейса MMC или с помощью автоматизации командной строки.
Например, можно настроить сервер политики сети (NPS), используя оснастку MMC NPS или команды netsh в контексте netsh nps
. Кроме того, существуют команды netsh для сетевых технологий, таких как IPv6, сетевой мост и удалённый вызов процедур (RPC), которые недоступны в Windows Server как оснастка MMC.
Important
Рекомендуется использовать Windows PowerShell для управления сетевыми технологиями в Windows и Windows Server, а не netsh
.
Пример синтаксиса
netsh [-a <Aliasfile>] [-c <Context>] [-r <RemoteMachine>] [-u <DomainName>\<Username>] [-p <Password> | *] [Command> | -f <ScriptFile>]
Следующие параметры являются необязательными.
Parameter | Description |
---|---|
-a | Указывает, что вы хотите вернуться в оболочку netsh после запуска файла псевдонима. Псевдоним — это текстовый файл, содержащий одну или несколько команд netsh. |
-c | Вводит указанный контекст netsh. Контекст представляет определенный набор доступных команд, связанных с определенной функцией или функцией. |
-r | Указывает, что требуется, чтобы команда выполнялась на удаленном компьютере с использованием имени компьютера, полного доменного имени (FQDN) или IP-адреса. Служба удаленного реестра должна работать на удаленном компьютере. Если он не запущен, в Windows отображается сообщение об ошибке "Сетевой путь не найден". Если вы указываете -r , а затем другую команду, netsh выполняет команду на удаленном компьютере, после чего возвращается в командную строку. Если вы указываете -r без другой команды, netsh открывается в удаленном режиме. Процесс аналогичен использованию set machine в командной оболочке netsh. При использовании -r вы задаёте целевой компьютер только для текущего экземпляра netsh. |
-u | Указывает, что вы хотите запустить команду netsh в определенной учетной записи пользователя с помощью DomainName\Username формата. |
-p | Указывает, что необходимо ввести пароль для учетной записи пользователя. Если * используется, это указывает, что вы хотите безопасно ввести пароль. |
Command | Это команда netsh, которую вы хотите запустить. |
-f | Указывает, что вы хотите выйти из netsh после выполнения команд из предоставленного файла скрипта. |
Если строковое значение содержит пробелы между символами, необходимо заключить строковое значение в кавычки. Например: -r "contoso remote device"
. После выхода и повторного входа netsh
, целевой компьютер сбрасывается как локальный компьютер. Команды netsh можно выполнять на удаленном компьютере, указав имя компьютера, хранящееся в WINS, имя UNC, имя Интернета, разрешаемое DNS-сервером или IP-адрес.
Note
Чтобы использовать определенные команды netsh, такие как netsh firewall
команды удаленно на другом компьютере с помощью параметра netsh –r
, служба удаленного реестра должна работать на удаленном компьютере. Если эта служба не запущена, может появиться сообщение об ошибке сетевого взаимодействия.
Выполнение команд Netsh
Выполнение netsh
команд можно выполнять с помощью командной строки с повышенными привилегиями или окна PowerShell. Вы можете изменить контекст, содержащий команду, которую вы хотите использовать в зависимости от установленных сетевых компонентов.
Например, если вы ввели netsh
, вы непосредственно перейдете в сетевую оболочку. Если вы введите dhcp
и нажмите клавишу ВВОД, вы перейдете в контекстное меню для dhcpclient
команд.
Контексты команд
Netsh взаимодействует с другими компонентами операционной системы с помощью файлов библиотеки динамических ссылок (DLL). Каждая библиотека DLL-помощника netsh предоставляет широкий набор функций, называемых контекстом, который представляет собой группу команд, относящихся к роли или функции сетевого сервера. Эти контексты расширяют функциональные возможности Netsh, обеспечивая поддержку конфигурации и мониторинга для одной или нескольких служб, служебных программ или протоколов.
Например, dhcpmon.dll предоставляет netsh с контекстом и набором команд, необходимых для настройки DHCP-серверов и управления ими.
Размещение >
помогает вам узнать, в каком контексте или подконтексте вы находитесь. Список контекстов netsh можно получить, выполнив netsh ?
или netsh help
нажав клавишу ВВОД для любой из доступных команд.
Ниже представлен пример результата.
The following commands are available:
Commands in this context:
.. - Goes up one context level.
? - Displays a list of commands.
abort - Discards changes made while in offline mode.
add - Adds a configuration entry to a list of entries.
advfirewall - Changes to the 'netsh advfirewall' context.
alias - Adds an alias.
branchcache - Changes to the 'netsh branchcache' context.
bridge - Changes to the 'netsh bridge' context.
bye - Exits the program.
commit - Commits changes made while in offline mode.
delete - Deletes a configuration entry from a list of entries.
dhcpclient - Changes to the 'netsh dhcpclient' context.
dnsclient - Changes to the 'netsh dnsclient' context.
dump - Displays a configuration script.
exec - Runs a script file.
exit - Exits the program.
firewall - Changes to the 'netsh firewall' context.
help - Displays a list of commands.
http - Changes to the 'netsh http' context.
interface - Changes to the 'netsh interface' context.
ipsec - Changes to the 'netsh ipsec' context.
ipsecdosprotection - Changes to the 'netsh ipsecdosprotection' context.
lan - Changes to the 'netsh lan' context.
namespace - Changes to the 'netsh namespace' context.
netio - Changes to the 'netsh netio' context.
offline - Sets the current mode to offline.
online - Sets the current mode to online.
popd - Pops a context from the stack.
pushd - Pushes current context on stack.
quit - Exits the program.
ras - Changes to the 'netsh ras' context.
rpc - Changes to the 'netsh rpc' context.
set - Updates configuration settings.
show - Displays information.
trace - Changes to the 'netsh trace' context.
unalias - Deletes an alias.
wfp - Changes to the 'netsh wfp' context.
winhttp - Changes to the 'netsh winhttp' context.
winsock - Changes to the 'netsh winsock' context.
The following sub-contexts are available:
advfirewall branchcache bridge dhcpclient dnsclient firewall http interface ipsec lan mbn namespace netio nlm ras rpc trace wcn wfp winhttp winsock wlan
To view help for a command, type the command, followed by a space, and then type ?.
Подконтексты команд
Контексты также могут включать как команды, так и вложенные контексты, известные как подконтексты. Например, контекст интерфейса содержит подконтексты, такие как ipv4 и ipv6, что позволяет управлять определенными параметрами сетевого интерфейса. Рассмотрим пример.
netsh> interface help
The following commands are available:
Commands in this context:
6to4 - Changes to the 'netsh interface 6to4' context.
? - Displays a list of commands.
dump - Displays a configuration script.
fl48 - Changes to the 'netsh interface fl48' context.
fl68 - Changes to the 'netsh interface fl68' context.
help - Displays a list of commands.
httpstunnel - Changes to the 'netsh interface httpstunnel' context.
ipv4 - Changes to the 'netsh interface ipv4' context.
ipv6 - Changes to the 'netsh interface ipv6' context.
isatap - Changes to the 'netsh interface isatap' context.
portproxy - Changes to the 'netsh interface portproxy' context.
set - Sets configuration information.
show - Displays information.
tcp - Changes to the 'netsh interface tcp' context.
teredo - Changes to the 'netsh interface teredo' context.
udp - Changes to the 'netsh interface udp' context.
The following sub-contexts are available:
6to4 fl48 fl68 httpstunnel ipv4 ipv6 isatap portproxy tcp teredo udp
To view help for a command, type the command, followed by a space, and then
type ?.
Чтобы выполнять задачи в другом контексте без изменения текущего контекста, введите путь контекста команды, которую вы хотите использовать в оболочке netsh. Например, чтобы добавить статический IPv4-адрес для NetLAN1 и указать маску подсети и шлюз, введите:
netsh interface ipv4 set address "NetLAN1" static <IP_Address> <Subnet_Mask> <Gateway>
Условные обозначения форматирования
Вы можете использовать следующую легенду форматирования для интерпретации и использования правильного синтаксиса команд при интерактивном выполнении команд в пакетном файле или скрипте.
- Текст в курсиве — это сведения, которые необходимо указать при вводе команды. Например, если команда имеет параметр с именем -UserName, необходимо ввести фактическое имя пользователя.
- Текст полужирным шрифтом — это сведения, которые необходимо ввести точно так же, как показано при вводе команды.
- Текст, за которым следует многоточие ... является параметром, который может повторяться несколько раз в командной строке.
- Текст, который находится между скобками [ ] является необязательным элементом.
- Текст между фигурными скобками { } с вариантами, разделенными каналом, предоставляет набор вариантов, из которых необходимо выбрать только один, например
{enable|disable}
. - Текст, отформатированный шрифтом Courier, — это код или выходные данные программы.
Строковые значения для команд netsh
Существуют команды, содержащие параметры, для которых требуется строковое значение. В случае, если строковое значение содержит пробелы между символами, необходимо заключить строковое значение в двойные кавычки.
При настройке interface
параметра для сетей IPv4 со строковым значением беспроводного сетевого подключения к DHCP используйте двойные кавычки вокруг строкового значения. Рассмотрим пример.
netsh interface ipv4> set address name="Wireless Network Connection" dhcp
Кроме того, для сетевых интерфейсов номер индекса можно использовать вместо имени, связанного с ним. Рассмотрим пример.
netsh interface ipv4> set address name=15 dhcp
Чтобы найти имя или индекс подключенных интерфейсов в подконтексте интерфейса, выберите тип интерфейса и тип show interfaces
, чтобы просмотреть подробные сведения. Рассмотрим пример.
netsh interface> ipv4 show interfaces
netsh interface> ipv6 show interfaces
Если вы не используете подконтекст интерфейса, можно выполнить полную команду для любого интерфейса. Рассмотрим пример.
netsh interface ipv4 show interfaces
netsh interface ipv6 show interfaces
Использование netsh в пакетных файлах
Пакетный файл — это обычный текстовый файл, содержащий ряд команд, выполняемых командной строкой Windows (CMD). Пакетные файлы имеют расширение .bat
или .cmd
. Они используются для автоматизации повторяющихся задач, управления конфигурациями системы и выполнения последовательностей команд без вмешательства пользователя. Пакетные файлы особенно полезны для задач, включающих несколько инструкций командной строки.
Пакетный скрипт будет полезен в следующих сценариях:
Конфигурация массовой сети. Если необходимо настроить параметры сети для нескольких компьютеров, пакетный файл может упростить процесс, автоматив настройку. Массовые конфигурации полезны в корпоративных средах или для ИТ-специалистов, управляющих несколькими компьютерами.
Перенастройка сети. Пользователи, переключаясь между разными сетевыми средами, могут использовать пакетные файлы для быстрого изменения параметров, таких как IP-адреса и DNS-серверы без вмешательства вручную.
Параметры резервного копирования и восстановления: можно создать пакетный скрипт для резервного копирования параметров сети перед внесением изменений и другим, чтобы восстановить их при необходимости.
Ниже приведен пример пакетного файла. Строки, начинающиеся с "rem", — это комментарии, которые позволяют пользователям знать, какие действия выполняют команды:
@echo off
echo Configuring network settings...
REM Set the IP address, subnet mask, and default gateway
netsh interface ip set address name="Ethernet" static 192.168.1.100 255.255.255.0 192.168.1.1
REM Set the DNS server address
netsh interface ip set dns name="Ethernet" static 8.8.8.8
REM Add a secondary DNS server
netsh interface ip add dns name="Ethernet" 8.8.4.4 index=2
REM Enable the firewall
netsh advfirewall set allprofiles state on
echo Network settings configured successfully.
pause
Ниже приведено краткое описание того, что делает этот скрипт:
- Он задает статический IP-адрес, маску подсети и шлюз по умолчанию для сетевого интерфейса с именем Ethernet.
- Настраивает основной DNS-сервер для использования.
- Добавляет дополнительный (резервный) DNS-сервер.
- Включает брандмауэр Windows с расширенной безопасностью для всех профилей.