Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Автоматическое подключение/отключение сетевого подключения

Ответить
Настройки темы
CMD/BAT - Автоматическое подключение/отключение сетевого подключения

Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте. Для начала спасибо за ваш полезный и увлекательный форум!
Теперь к делу.
Есть желание прописать батник на периодичное (раз в 10 минут) автоматическое включение локального подключения "Fiber", затем проверка подключён ли кабель или нет (например пингуется адрес 192.168.0.1), в случае если подключён - оставить подключение "в покое" (т.е. он-лайн), в случае же если кабель не подключен, то отрубить подключение "Fiber" на 10 минут.

Отправлено: 17:12, 21-08-2010

 

Старожил


Сообщения: 415
Благодарности: 257

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: 7z bin.7z
(21.2 Kb, 97 просмотров)

Вот такой батничек получился, требует для своей работы devcon.exe от Microsoft и hs_delay.exe из набора утилит HS Packet от Акатова Алексея (нужные файлы во вложении)

Код: Выделить весь код
@Echo Off
Rem Задержка между подключениями, если адрес не пингуется, в минутах
Set Delay=10
Rem Адрес, по которому будет проверяться наличие сети
Set RemoteHost=192.168.1.217

Set StartDate=[%date% - %time:~-0,8%]
Set /A Connected=0
Set /A Failed=0
Set /A _Delay=Delay*60000
:Loop
Ping -n 1 -w 1000 -l 512 %RemoteHost%>nul
If ErrorLevel 1 GoTo :Fail
Set /A Connected=Connected+1
Cls
Title Статистика
Echo Запущен: %StartDate%
Echo Удачных подключений: %Connected%
Echo Неудачных подключений: %Failed%
Call :Wait
Goto Loop
:Fail
Set /A Failed=Failed+1
Devcon.exe disable *NVNET*
Cls
Title Статистика
Echo Запущен: %StartDate%
Echo Удачных подключений: %Connected%
Echo Неудачных подключений: %Failed%
Call :Wait
Devcon.exe enable *NVNET*
Goto Loop
:Wait
hs_delay.exe %_Delay%
Exit /B
Идентификатор сетевой карты можно узнать все через тот же devcon.exe, допускается подстановка звездочек.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:27, 21-08-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 140
Благодарности: 92

Профиль | Отправить PM | Цитировать


Anonymоus,

К чему такая сложность и применения доп. утилит resourse kit

Код: Выделить весь код
Echo On & Chcp 866
set "cmdline=netsh interface set interface "Fiber""
Set STS=0

For /f "tokens=2" %%a in ('netsh interface show interface ^| Find /i "Fiber"') DO IF /i "%%a"=="подключен" (call :check) ^
else %cmdline% ENABLE && call :check
pause&goto :eof

:Check
Ping 192.168.0.1>nul
Ping 192.168.0.1>nul
If Errorlevel 1 (%cmdline% DISABLE & Echo Отключено) Else (Echo Активно)
Да бы не грузить систему, создать назначенное задание на запуск данного *.bat каждые 10 минут.
При опеределение параметров "с наив..." и от имени "системы" - запуск будет в скрытом режиме.

Последний раз редактировалось deepred, 21-08-2010 в 21:07.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:49, 21-08-2010 | #3


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


не работает ничего! =(
мне ближе и более понятен второй вариант, но не срабатывает, подключение не включает!

сейчас пользуюсь такими батниками на переключение настроек подключения

1) netsh interface ip set address name="Fiber" source=static addr=192.168.0.2 mask=255.255.255.0 gateway=192.168.0.1 gwmetric=1
netsh interface ip set dns name="Fiber" source=static addr=192.168.0.1

2) netsh interface ip set address name="Fiber" source=static addr=89.28.82.129 mask=255.255.255.0 gateway=89.28.82.1 gwmetric=1
netsh interface ip set dns name="Fiber" source=static addr=87.248.160.5

в целом они мне понятны, ясно и видно, что к чему...работают на ура и до гениального просты...хотел бы что-то подобное и на подключение/отключение иметь... что-то типа

netsh interface ip set name="Fiber" = enabled
if Ping 192.168.0.1 >nul
тогда exit

if ping 192.168.0.1 не пингуется
тогда netsh interface ip set name="Fiber" = disabled


Я понимаю, что написал тут бред)) но это просто для пимера, как я себе представляю работу батника) (за исключение циклического повтора через каждые 10 минут)

Отправлено: 19:05, 21-08-2010 | #4


Пользователь


Сообщения: 140
Благодарности: 92

Профиль | Отправить PM | Цитировать


Цитата DaFTSPiRiT:
netsh interface ip set name="Fiber" = enabled
if Ping 192.168.0.1 >nul
тогда exit
if ping 192.168.0.1 не пингуется
тогда netsh interface ip set name="Fiber" = disabled »
DaFTSPiRiT,
Вы некорректно записываете команду



давайте так:

Код: Выделить весь код
ping 192.168.0.1 > nul
If Errorlevel 1 netsh interface ip set interface "Fiber" disabled
Цитата deepred:
Да бы не грузить систему, создать назначенное задание на запуск данного *.bat каждые 10 минут.
При опеределение параметров "с наив..." и от имени "системы" - запуск будет в скрытом режиме. »

Уточните, пожалуйста, какие ошибки выдает код и версию Вашей ОС.

Отправлено: 19:17, 21-08-2010 | #5


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


http://xmages.net/storage/10/1/0/e/7...d/5ffaebe9.jpg

Отправлено: 19:28, 21-08-2010 | #6


Пользователь


Сообщения: 140
Благодарности: 92

Профиль | Отправить PM | Цитировать


DaFTSPiRiT,

У Вас проблемы с кодировкой, попробуйте в сценарии изменить кодовую страницу с 1251 на 866, а также попробуйте сохранить сам *.bat в кодировке OEM DOS (866). Это вы можете сделать в Akelpad или Word.

PS: приложил для Вас *.bat в кодировке OEM DOS

Последний раз редактировалось deepred, 26-08-2010 в 12:19.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:36, 21-08-2010 | #7


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Скачал батник net_En-dis_866.rar Отключил "Fiber" запустил батник, результат - Для продолжения нажмите любую клавишу. . ., при том, что вручную всё пингуется, интернет есть!

http://xmages.net/storage/10/1/0/f/7...d/dad652e5.jpg

Отправлено: 20:02, 21-08-2010 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Автоматическое подключение/отключение сетевого подключения

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - [решено] Автоматическое подключение/отключение интернет permas Скриптовые языки администрирования Windows 15 28-10-2011 02:14
Разное - Автоматическое создание vpn подключения steepz Microsoft Windows 2000/XP 3 13-03-2011 01:25
Автоматическое отключение интернета в заданное время. Good AutoIt 1 18-07-2010 19:16
Интерфейс - автоматическое отключение дисплея также отключает и видик? severagent007 Microsoft Windows 2000/XP 1 26-08-2009 18:04
Автоматическое создание нового подключения к VPN neWex Автоматическая установка Windows 2000/XP/2003 4 23-05-2007 13:52




 
Переход