Просмотров: 155906

10 команд Netsh, которые обязан знать каждый админ


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

На мой взгляд, Netsh настолько мощная и гибкая, что я просто не могу выбрать ‘самые важные’ Netsh-команды, поскольку их важность будет разной для разных администраторов. Однако я могу выбрать десять команд, которые, на мой взгляд, либо отображают самую важную информацию, либо помогут вам в трудной ситуации. Следует учитывать, что эти команды можно записывать в сценарии (поскольку они все представляют собой инструменты командной строки), поэтому все, что вы можете сделать с помощью отдельной команды на одной машине, вы можете записать в сценарий, чтобы использовать эту команду на всех машинах вашей сети.

Что такое Netsh?

Microsoft Windows Netsh — это утилита командной строки.

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

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

В процессе создания версии Windows NT 5.0, которая позднее превратилась в Windows 2000, корпорация Microsoft непродолжительное время работала с компанией Cisco Systems, пытаясь включить некоторые идеи этой компании в новую операционную систему и помочь Cisco внедрить некоторые возможности NT 5.0 в ее продукцию. Результат этих усилий можно увидеть сейчас в решении Cisco Voice over IP, для которого требуется развертывание Active Directory (AD). Этот стремительный «роман» в конце концов завершился, но оставил после себя основу для Netsh, чрезвычайно практичного сетевого инструмента командной строки.

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

Netsh не является новой утилитой в Windows Server 2008 или Windows Vista/7. Netsh существует уже довольно давно. Команды Netsh доступны в Windows 2000, XP и Windows Server 2003.

Однако новым является количество опций для Netsh в Windows Server 2008 и Vista/7. Именно этой, новой Netsh и посвящен этот TOP 10

К тому же я считаю, что Netsh не используется в должной мере администраторами, и большинство администраторов не знают о новых усовершенствованиях этой утилиты в Windows Server 2008 и Vista. Я надеюсь просветить администраторов Windows в области новых функций netsh и мощи данной утилиты в этой статье.

Даже убежденным противникам командной строки не устоять перед Netsh, который позволяет задействовать командную строку или командный файл для выполнения таких задач, как изменение настроек стека IP, наладка сервера DHCP c помощью рабочей памяти, управление брандмауэром Windows, а также сложных действенных правил IPsec. Кроме того, Netsh — единственный известный мне инструмент из тех, что позволяют отладить распространенный, но пугающий побочный эффект запуска некоторых приложений против шпионских программ: полный вывод из строя стека IP.

Какая разница между Windows Server 2008/Win7 netsh и Windows XP?

Есть несколько различий даже на базовом командном уровне между Windows XP версией netsh и Windows Server 2008 netsh. Для сравнения различий я запущу команды ‘netsh /?‘ в каждой операционной системе. Хотя Windows XP имеет ‘маршрутизацию’ в списке контекста, а Windows Server 2008 нет, это единственный элемент контекста, которого не достает Win 2008 (но который включен в Win 2008 RAS).

netsh admin winsock windows

В остальном Windows Server 2008 имеет следующие контекстные опции netsh, которые Windows XP не имеет:

  • dhcp
  • dhcpclient
  • http
  • ipsec
  • lan
  • nap
  • netio
  • rpc
  • winhttp

Таким образом, как вы видите, в Window Server 2008 имеется гораздо больше контекстных опций.

Итак, давайте перейдем к нашим десяти командам Netsh, которые должен знать каждый администратор.

№ 10: Как получить помощь

Каждый администратор Windows должен знать, как получить помощь с netsh. Это очень просто, просто используем ‘/?’ команду, которая предоставит нам руководство о том, что мы пытаемся сделать. Например, что бы посмотреть все netsh-варианты (категории опций), просто пишем: netsh /?

netsh admin winsock windows

Рисунок 1: Результаты команды netsh /?

Отсюда вы можете выбирать контекст, и будете проведены через настройки или вам будут показаны опции этого контекста. К примеру, допустим, что я ввел команду netsh lan /? , в результате я увижу:

netsh admin winsock windows

Рисунок 2: Результаты команды netsh lan /?

Отсюда я продолжу работать со справкой путем ввода команды -

netsh lan show /?

Здесь я смогу отобразить интерфейсы с помощью -

netsh lan show interfaces

Способность разбираться во многих командах netsh, используя /?, это очень ценный навык.

№ 9: Предоставление имен и мандатов удаленной машины

Если вы запустите netsh /? , то увидите, что у вас есть возможность предоставить имя, IP-адрес и мандаты удаленной машины, на которой вы выполняете команды netsh. Вариантами здесь будут ‘-r’ для машины, ‘-u’ для имени пользователя и ‘-p’ для пароля.

Вот пример:

netsh -r WinXP-1 -u winxp-1\administrator -p My!Pass1 interface ip show config

Как вы видите, я предоставил имя удаленной машины, имя удаленного пользователя и пароль, что позволило мне выполнять эту команду через сеть. Вы можете выполнять любые команды, показанные здесь, через сеть, если удаленные машины поддерживают эти команды (различные ОС будут использовать различные варианты команд).

№ 8: Запуск Netsh в интерактивном режиме или с помощью сценария

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

Вы можете начать с простого ввода netsh в командную строку и увидите:

netsh>

Отсюда вы можете вводить любые команды netsh, какие захотите, или даже сказать netsh подключиться к удаленной машине.

В противном случае вы можете использовать:

netsh ‘f <scriptfile>

и указать сценарий, который netsh будет использовать.

№ 7: Открыть порт на своем брандмауэре

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

Вот пример открытия порта 445-

netsh firewall set portopening tcp 445 smb enable

Если команда выполнена успешно, вы должны получить ответ ‘Ok.

№ 6: Экспортирование текущей конфигурации сети в файл и его импортирование

С помощью netsh экспортирование и импортирование конфигурации IP адресов является очень простой задачей, в отличие от работы с графическим GUI интерфейсом.

Чтобы экспортировать свою конфигурацию, просто выполните команду:

netsh ‘c interface dump > test.txt

netsh admin winsock windows

Рисунок 3: Экспортирование конфигурации IP адресов и просмотр файла

Позже на этой или другой машине вы сможете импортировать данную конфигурацию с помощью команды -

netsh ‘f test.txt

№ 5: Пробуем самые последние опции Netsh

Как я уже говорил, существует много новых функций в Windows Server 2008, связанных с netsh.

Вот новые категории, которые я вижу на своей системе Windows Server 2008:

  • dhcp
  • dhcpclient
  • http
  • ipsec
  • lan
  • nap
  • netio
  • rpc
  • winhttp

Например, вы можете настраивать не только своего DHCP клиента, но и DHCP сервер. Вы можете настраивать IPSec-шифрование, клиента NAP и многое другое!

Когда вы добавляете дополнительные роли и функции на сервер, у вас будет появляться дополнительный контекст.

Например, если вы добавите сервер сетевой политики к Windows Server 2008, у вас появится ‘nps’ в качестве сетевого netsh контекста, который можно будет настраивать.

Для официальной документации о Microsoft Windows Server 2008 netsh посетите этот URL: Microsoft TechNet- Windows Server 2008 -Netsh Technical Reference

№ 4: Диагностика TCP/IP и восстановление интерфейса

Существует несколько действий, которые вы можете осуществить с netsh для диагностирования и восстановления вашего TCP/IP сетевого интерфейса. Вот некоторые примеры:

  • Восстановление всех конфигурации стека IP протоколов вашего интерфейса и отправка результатов в файл лога — netsh int ipv4 reset resetlog.txt
  • Установка TCP/IP протокола — netsh int ipv4 install
  • Деинсталляция TCP/IP протокола — netsh int ipv4 uninstall

Приходилось ли вам когда-нибудь перемещать свой ноутбук с места на место (к примеру, с работы домой, из одной сети WAP в другую, из беспроводной в проводную сеть Ethernet) и обнаруживать при этом, что он не меняет IP-адреса? По какой-то причине компьютер «привык» к старому IP-адресу и, поскольку этот старый адрес «ничего не стоит» на новом месте, вы даже не сможете успешно выполнить переброску информации. В таком случае данная команда Netsh:

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-страницы.

№ 3: Настройка брандмауэра Windows Advanced Firewall

В своей предыдущей статье, Как настраивать Windows 2008 Advanced Firewall с помощью NETSH CLI, я рассказывал о том, как вы можете настраивать новый Windows (двунаправленный) брандмауэр с помощью нового сетевого контекстного параметра advfirewall , используя netsh в Windows Server 2008 и Windows Vista. Конечно, вы можете также настраивать и традиционный Windows брандмауэр. Вот некоторые примеры:

  • Показать все правила брандмауэра — netsh advfirewall firewall show rule name=all
  • Удалить входящее правила расширенного брандмауэра для порта 21 — netsh advfirewall firewall delete name rule name=all protocol=tcp localport=21
  • Экспортировать параметры расширенного брандмауэра Windows Advanced Firewall — netsh advfirewall export ‘c:\advfirewall.wfw’

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

netsh firewall set opmode disable

или

netsh firewall set opmode enable

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

netsh admin winsock windows

№ 2: Настройка параметров беспроводного подключения

В другой своей статье, Настройка беспроводных соединений Windows Server 2008 и Windows Vista из CLI с помощью netsh wlan, я рассказывал о том, как вы теперь можете настраивать параметры беспроводного подключения с помощью 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 "

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

№ 1: Настройка IP адреса и параметров сетевого интерфейса

Поскольку netsh — это ‘network shell — сетевая оболочка’, самым лучшим способом ее использования будет настройка базовых параметров вашей сети. Вот некоторые примеры:

  • Показать IP адрес — netsh interface ip show config
  • Установить интерфейс на использование DHCP для своей конфигурации IP адресов — netsh interface ip  set address name="Local Area Connection" source=dhcp
  • Установить интерфейс на использование статичного IP адреса для IP конфигурации — netsh interface ip set address «Local Area connection» static 10.0.0.9 255.0.0.0 10.0.0.1 1
  • Или добавить запись DNS Server ‘netsh interface ip add dnsserver «Local Area Connection» 10.0.0.1

Для дополнительных примеров настройки базовых параметров конфигурации сети с помощью Netsh прочтите статью — Petri Knowledgebase How can I configure TCP/IP settings from the command prompt?

Функциональность команды Netsh гораздо богаче, чем было описано в данной статье. Но читателей наверняка интересует, как здесь обстоит дело со шпионскими программами. Эти программы обычно действуют, проникая в Winsock — по существу, в интерфейс между имеющимися приложениями и Internet. Шпионские программы предпочитают размещаться там так, чтобы удобно было следить за пользователем. Некоторые антишпионские инструменты способны находить и удалять такие программы, но со временем они могут полностью вывести из строя стек Windows TCP/IP. И хотя это эффективный способ защиты от постороннего вмешательства, он равноценен разрушению ради спасения. К счастью, здесь может помочь Netsh. Достаточно просто набрать:

netsh winsock reset и нажать Enter.

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

В заключение

Утилита командной строки netsh всегда была очень мощным инструментом для администраторов Windows. А благодаря новым функциям, добавленным в Windows Server 2008 и Windows Vista, netsh стала еще более мощной утилитой.

В этой статье вы увидели ее мощь в действии на примерах, и я предложил минимальных 10 команд, которые вы должны знать в netsh.

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru pikabu.ru blogger.com liveinternet.ru livejournal.ru google.com bobrdobr.ru yandex.ru del.icio.us

Подписка на обновления блога → через RSS, на e-mail, через Twitter
Теги: , , , ,
Эта запись опубликована: Суббота, 11 февраля 2012 в рубрике Обзоры.

9 комментариев

Следите за комментариями по RSS
  1. Контекста diag в последних версиях netsh нет. Так что было бы неплохо поправить статью.

  2. Да и пункт 6 некорректен....

  3. лучше всего автору удался пункт 10, этим и можно было ограничиться

  4. Как дополнение еще фаервол можно настроить удаленно посредством CMD

    http://so4net.com/index.php/ru/blog/77-firewall-cmd-windows-7

  5. Большое спасибо за такую разжёванную статью. Мне для образования очень пригодилось, убрал себе в заметки :)

  6. Пустота. Не ощутил мощи netsh из данной статейки.

  7. Самая часто пользуюсь мной командой на win 8.1

    netsh wlan show profile

    а потом после того когда увидел нужную беспроводную сеть, пишу

    netsh wlan show profile name=имя_сети key=clear

    Опля и видим пароль.

    Просто настраиваю людям компы, а на win_8.1 нельзя посмотреть ранее в веденный пароль на wi-fi. Почти половина клиентов не помнят свой пароль.

  8. Статья, безусловно полезная, но вот, к сожалению, не нашёл ответ на свой вопрос: Как назначить 2 IP-Адреса на одну Сетевуху, чтобы один был по DHCP (От Интернет-Провайдера), а второй Статический (для своей Локалки)?

    P.S. На Linux и FreeBSD это делается довольно просто, хотя и по-разному, неужели на Windows нельзя?

  9. Михаил, если понадобится добавить еще один IP-адрес на сетевую, то используем:

    netsh interface ipv4 add address name="LAN" address=192.168.2.4 255.255.255.0

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Зарегистрировать/комментатор

Для регистрации укажите свой действующий email и пароль. Связка email-пароль позволяет вам комментировать и редактировать данные в вашем персональном аккаунте, такие как адрес сайта, ник и т.п. (Письмо с активацией придет в ящик, указанный при регистрации)

(обязательно)


⇑ Наверх
⇓ Вниз