В этой статье я расскажу об истории, назначении, и, наконец, десяти Netsh-командах, которые должен знать каждый администратор Windows.
На мой взгляд, настолько мощная и гибкая, что я просто не могу выбрать ‘самые важные’ Netsh-команды, поскольку их важность будет разной для разных администраторов. Однако я могу выбрать десять команд, которые, на мой взгляд, либо отображают самую важную информацию, либо помогут вам в трудной ситуации. Следует учитывать, что эти команды можно записывать в сценарии (поскольку они все представляют собой инструменты командной строки), поэтому все, что вы можете сделать с помощью отдельной команды на одной машине, вы можете записать в сценарий, чтобы использовать эту команду на всех машинах вашей сети.
— это утилита командной строки.
С помощью Netsh вы можете просматривать или изменять конфигурацию сети на ваших локальных или удаленных машинах.
Вы можете вручную запускать команды Netsh или создавать файлы сценариев для автоматизации процесса. Эти команды вы можете запускать не только на своих локальных машинах, но и на удаленных компьютерах по сети.
Netsh также предоставляет функцию работы со сценариями, которая позволяет вам запускать группу команд в режиме очередности на определенном компьютере. Благодаря netsh вы можете сохранять сценарии конфигурации в текстовые файлы для архивации, или в целях настройки других машин.
Netsh не является новой утилитой в Windows Server 2008 или Windows Vista/7. Netsh существует уже довольно давно. Команды Netsh доступны в Windows 2000, XP и Windows Server 2003.
К тому же я считаю, что Netsh не используется в должной мере администраторами, и большинство администраторов не знают о новых усовершенствованиях этой утилиты в Windows Server 2008 и Vista. Я надеюсь просветить администраторов Windows в области новых функций netsh и мощи данной утилиты в этой статье.
Есть несколько различий даже на базовом командном уровне между Windows XP версией netsh и Windows Server 2008 netsh. Для сравнения различий я запущу команды ‘netsh /?‘ в каждой операционной системе. Хотя Windows XP имеет ‘маршрутизацию’ в списке контекста, а Windows Server 2008 нет, это единственный элемент контекста, которого не достает Win 2008 (но который включен в Win 2008 RAS).

В остальном Windows Server 2008 имеет следующие контекстные опции netsh, которые Windows XP не имеет:
Таким образом, как вы видите, в Window Server 2008 имеется гораздо больше контекстных опций.
Каждый администратор Windows должен знать, как получить помощь с netsh. Это очень просто, просто используем ‘/?’ команду, которая предоставит нам руководство о том, что мы пытаемся сделать. Например, что бы посмотреть все netsh-варианты (категории опций), просто пишем: netsh /?
Рисунок 1: Результаты команды netsh /?
Отсюда вы можете выбирать контекст, и будете проведены через настройки или вам будут показаны опции этого контекста. К примеру, допустим, что я ввел команду netsh lan /?
, в результате я увижу:
Рисунок 2: Результаты команды netsh lan /?
Отсюда я продолжу работать со справкой путем ввода команды -
netsh lan show /?
Здесь я смогу отобразить интерфейсы с помощью -
netsh lan show interfaces
Способность разбираться во многих командах netsh, используя /?, это очень ценный навык.
Если вы запустите netsh /?
, то увидите, что у вас есть возможность предоставить имя, IP-адрес и мандаты удаленной машины, на которой вы выполняете команды netsh. Вариантами здесь будут ‘-r’ для машины, ‘-u’ для имени пользователя и ‘-p’ для пароля.
Вот пример:
netsh -r WinXP-1 -u winxp-1\administrator -p My!Pass1 interface ip show config
Как вы видите, я предоставил имя удаленной машины, имя удаленного пользователя и пароль, что позволило мне выполнять эту команду через сеть. Вы можете выполнять любые команды, показанные здесь, через сеть, если удаленные машины поддерживают эти команды (различные ОС будут использовать различные варианты команд).
Netsh можно запустить в интерактивном режиме (путем простого ввода команд вручную) или с помощью сценария. Допустим, вы хотите выполнить несколько отдельных команд на локальной или удаленной машине.
Вы можете начать с простого ввода netsh в командную строку и увидите:
netsh>
Отсюда вы можете вводить любые команды netsh, какие захотите, или даже сказать netsh подключиться к удаленной машине.
В противном случае вы можете использовать:
netsh ‘f <scriptfile>
и указать сценарий, который netsh будет использовать.
С помощью netsh вы можете быстро и легко открыть порт на своем брандмауэре, если знаете нужную команду.
Вот пример открытия порта 445-
netsh firewall set portopening tcp 445 smb enable
Если команда выполнена успешно, вы должны получить ответ ‘Ok.’
С помощью netsh экспортирование и импортирование конфигурации IP адресов является очень простой задачей, в отличие от работы с графическим GUI интерфейсом.
Чтобы экспортировать свою конфигурацию, просто выполните команду:
netsh ‘c interface dump > test.txt
Рисунок 3: Экспортирование конфигурации IP адресов и просмотр файла
Позже на этой или другой машине вы сможете импортировать данную конфигурацию с помощью команды -
netsh ‘f test.txt
Как я уже говорил, существует много новых функций в Windows Server 2008, связанных с netsh.
Вот новые категории, которые я вижу на своей системе Windows Server 2008:
Например, вы можете настраивать не только своего DHCP клиента, но и DHCP сервер. Вы можете настраивать IPSec-шифрование, клиента NAP и многое другое!
Например, если вы добавите сервер сетевой политики к Windows Server 2008, у вас появится ‘nps’ в качестве сетевого netsh контекста, который можно будет настраивать.
Для официальной документации о Microsoft Windows Server 2008 netsh посетите этот URL:
Существует несколько действий, которые вы можете осуществить с netsh для диагностирования и восстановления вашего TCP/IP сетевого интерфейса. Вот некоторые примеры:
netsh int ipv4 reset resetlog.txt
netsh int ipv4 install
netsh int ipv4 uninstall
netsh int ip reset C:\ iplog.txt
- просто незаменима. В данной ситуации она играет роль птицы Феникс для IP, так как освобождает адрес IP и быстро перестраивает его. C:\iplog.txt
— это имя текстового файла, которое будет использовать команда Netsh для отчета о своих действиях. По некоторым причинам наличие файла журнала является обязательным: вы обязаны задать имя файла, чтобы команда Netsh смогла выполнить процедуру регистрации своих действий. Едва ли не первое, что я делаю, приступая к поиску неисправностей в системе, — запускаю команду Netsh, о которой, видимо, мало кто знает. Я ввожу на клавиатуре:netsh diag gui
и вижу HTML-страницу со ссылкой, с помощью которой можно сканировать систему. Щелкнув на ссылке, я получаю отчет, выполненный в виде прекрасной иерархической схемы, где детально представлен каждый адаптер системы. Далее команда выводит информацию о каждом адаптере, серверах DHCP, серверах WIN, шлюзах по умолчанию, настройках Microsoft Outlook Express, сетевых службах системы и так далее. В заключение команда обобщает результаты в виде аккуратно выполненной презентабельной Web-страницы.
В своей предыдущей статье, , я рассказывал о том, как вы можете настраивать новый Windows (двунаправленный) брандмауэр с помощью нового сетевого контекстного параметра advfirewall
, используя netsh в Windows Server 2008 и Windows Vista. Конечно, вы можете также настраивать и традиционный Windows брандмауэр. Вот некоторые примеры:
netsh advfirewall firewall show rule name=all
netsh advfirewall firewall delete name rule name=all protocol=tcp localport=21
netsh advfirewall export ‘c:\advfirewall.wfw’
Возможно самой распространенной командой, которую вы захотите использовать для включения и отключения своего брандмауэра, будет команда:
netsh firewall set opmode disable
или
netsh firewall set opmode enable
Однако для более специфичной информации и примеров прочтите мою статью, указанную выше.

В другой своей статье, , я рассказывал о том, как вы теперь можете настраивать параметры беспроводного подключения с помощью netsh в Windows Server 2008 и Windows Vista. Вот некоторые примеры:
netsh wlan connect ssid=‘mySSID’ name=‘WLAN-Profil1
’ netsh wlan show settings
netsh wlan add profile filename="Wireless Network Connection-BOW.xml
"Однако для более подробной информации прочтите мою статью, указанную выше.
Поскольку netsh — это ‘network shell — сетевая оболочка’, самым лучшим способом ее использования будет настройка базовых параметров вашей сети. Вот некоторые примеры:
netsh interface ip show config
netsh interface ip
set address name="Local Area Connection" source=dhcp netsh interface ip set address «Local Area connection» static 10.0.0.9 255.0.0.0 10.0.0.1 1
netsh interface ip add dnsserver «Local Area Connection» 10.0.0.1
Для дополнительных примеров настройки базовых параметров конфигурации сети с помощью Netsh прочтите статью — Petri Knowledgebase
netsh winsock reset
и нажать Enter.Теперь необходимо перезапустить систему. Возможно, потребуется проделать это с последующей командой:Netsh IP Reset
, - и вы тут же получите свой первоначальный стек IP обратно.
Утилита командной строки netsh всегда была очень мощным инструментом для администраторов Windows. А благодаря новым функциям, добавленным в Windows Server 2008 и Windows Vista, netsh стала еще более мощной утилитой.
В этой статье вы увидели ее мощь в действии на примерах, и я предложил минимальных 10 команд, которые вы должны знать в netsh.
1 комментарий
Контекста diag в последних версиях netsh нет. Так что было бы неплохо поправить статью.