BAT/CMD: Перезапуск сетевого адаптера скриптом в Windows
Очень часто при работе по удаленке надо передернуть сетевой кабель или отключить и включить сетевой адаптер. Но раз мы не можем это сделать физически, приходится просить кого-то это сделать или изощряться такими способами. В 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. один раз скрипт не заработал, пришлось рано утром ехать на объект, так что применяем на свой страх и риск
Отблагдарить автора статьи также можно переводом, +100 вам в карму!
13 комментариев
Спасибо!
Автор, зачем пинговать в данной ситуации? и почему 6 раз?
Если не сложно, ответь по почте
Это нужно для того, чтобы выждать паузу длительностью 6 секунд. Чтобы система успела сначала отключить, потом включить и не тупила. На почту отписался
sleep 6 — ожидание 6 секунд
не надо ping — колхозно это как-то )))
а так — хороший пост, спасибо.
спасибо за вариант.
сейчас не вспомню почему отказался, но вроде бы в XP такой команды не было, а здесь — универсальный способ.
p.s. ещё есть вариант timeout /t 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
)
Оооо спасибо за труды.
Мне как раз нужен такой батник для работы, удалённо отрубать соединения.
А можно поставить время
Спасибо, пригодилось!
Для новичков дам подсказку — данный скрипт удобнее сохранять в Notepad++, при сохранении выбрать тип файла *.bat и в имени файла в конце прописать .bat
Дополню последний комментарий. Не обязательно notepad++, обычный тоже справляется, если по какой-то причине не любите файловые менеджеры (FAR, TotalCommander, etc) . В ванильном блокноте (nodepad) при сохранении имя будущего батч-скрипта заключаете в кавычки, вот и все ( ctrl+shift+s > «script.bat» )
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
Не благодарите!
А как сделать, чтобы такой скрипт включал режим в самолете на назначаемое время?
Привет не подскажешь как то же самое проделать с usb модемом что бы отключить инет,а потом включить что бы поменялся айпи модема.