BAT/CMD: Перезапуск сетевого адаптера скриптом в Windows

BAT/CMD: Перезапуск сетевого адаптера скриптом в Windows

25.05.2017 Windows 12

Очень часто при работе по удаленке надо передернуть сетевой кабель или отключить и включить сетевой адаптер. Но раз мы не можем это сделать физически, приходится просить кого-то это сделать или изощряться такими способами. В Linux это происходит легко, через ssh вбиваем ifdown eth0 & ifup eth0 и всё норм. В Windows приходится провернуть следующее…

Создаём bat-ник, вписываем туда следующий скрипт обязательно в кодировке ANSI

netsh interface set interface name="Подключение по локальной сети" admin=DISABLED

ping 127.0.0.1 -n 6 > nul

netsh interface set interface name="Подключение по локальной сети" admin=ENABLED

и запускаем от имени администратора.

где «Подключение по локальной сети» — это название сетевого адаптера в вашей Windows. Оно может называться «Подключение по локальной сети 2» или «Подключение по локальной сети 3«.  Я для удобства переименовал подключения в LAN, WiFi, Internet, Router или Bluetooth.

Замечания: работает не только в Windows 7, но также и в Windows 8 и Windows 10.

P.S. один раз скрипт не заработал, пришлось рано утром ехать на объект, так что применяем на свой страх и риск

 

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

  1. Михаил:

    Спасибо!

  2. Дмитрий:

    Автор, зачем пинговать в данной ситуации? и почему 6 раз?
    Если не сложно, ответь по почте

  3. Это нужно для того, чтобы выждать паузу длительностью 6 секунд. Чтобы система успела сначала отключить, потом включить и не тупила. На почту отписался

  4. Денис:

    sleep 6 — ожидание 6 секунд
    не надо ping — колхозно это как-то )))
    а так — хороший пост, спасибо.

  5. спасибо за вариант.
    сейчас не вспомню почему отказался, но вроде бы в XP такой команды не было, а здесь — универсальный способ.
    p.s. ещё есть вариант timeout /t 6

  6. Виктор:

    Давно этот пост помог, но со временем пришлось его доводить до ума под свои задачи, может еще кому пригодится.

    Перезапуск всех активных сетевых адаптеров в системе:
    for /f delims^=^»^ tokens^=2 %%a in (‘netsh interface ip show config ^| findstr «Наст conf»‘) do @(
    echo. Перезапуск: %%a
    netsh interface set interface name=»%%a» admin=disabled
    ping -n 3 localhost>nul
    netsh interface set interface name=»%%a» admin=enabled
    )

  7. Art2007:

    Оооо спасибо за труды.
    Мне как раз нужен такой батник для работы, удалённо отрубать соединения.

  8. Умид:

    А можно поставить время

  9. $t@nislav:

    Спасибо, пригодилось!
    Для новичков дам подсказку — данный скрипт удобнее сохранять в Notepad++, при сохранении выбрать тип файла *.bat и в имени файла в конце прописать .bat

  10. Вадим:

    Дополню последний комментарий. Не обязательно notepad++, обычный тоже справляется, если по какой-то причине не любите файловые менеджеры (FAR, TotalCommander, etc) . В ванильном блокноте (nodepad) при сохранении имя будущего батч-скрипта заключаете в кавычки, вот и все ( ctrl+shift+s > «script.bat» )

  11. lp85d:

    chcp 1251 >NUL
    netsh interface set interface name=»Подключение по локальной сети» admin=DISABLED
    ping 127.0.0.1 -n 6 > nul
    netsh interface set interface name=»Подключение по локальной сети» admin=ENABLED

    Не благодарите!

  12. Александр:

    А как сделать, чтобы такой скрипт включал режим в самолете на назначаемое время?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *