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

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

25.05.2017 Windows 8

Очень часто при работе по удаленке надо передернуть сетевой кабель или отключить и включить сетевой адаптер. Но раз мы не можем это сделать физически, приходится просить кого-то это сделать или изощряться такими способами. В 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. один раз скрипт не заработал, пришлось рано утром ехать на объект, так что применяем на свой страх и риск

 

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

  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. Умид:

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

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

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