|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Скрипт автоматического переподключения VPN-соединения |
|
CMD/BAT - [решено] Скрипт автоматического переподключения VPN-соединения
|
Новый участник Сообщения: 11 |
Профиль | Отправить PM | Цитировать Есть такой скрипт:
@echo off :start echo %date% %time% echo Start... echo Pinging... ping 74.125.39.104 >dev.null && goto pinging || echo ping fault =^> Connect && goto dialing :redialing echo %date% %time% redialing >>redial.log set ARG=0 :dialing echo %date% %time% set /a ARG=ARG+1 echo Disconnect to Ufanet... rasdial "ufanet_local" /disconnect >dev.null //ufanet_local - имя соединение vpn на локал rasdial "ufanet_freedom" /disconnect >dev.null //ufanet_freedom - имя соединение vpn на анлим echo Disconnect to Local Area Connection... devcon.exe disable КОД_СЕТЕВОЙ_КАРТЫ >dev.null //Для перезапуска сетевухи echo sleep 1 sec... sleep 1 echo Connect to Local Area Connection... devcon.exe enable КОД_СЕТЕВОЙ_КАРТЫ >dev.null echo sleep 20 sec... sleep 20 echo %date% %time% echo Dialing to Ufanet... rasdial "ufanet_local" ЛОГИН ПАРОЛЬ && rasdial "ufanet_freedom" ЛОГИН ПАРОЛЬ && routing.vbs >dev.null && time /T && echo connected to "Ufanet" || goto dialing //соединение с vpn и запуск скрипта routing.vbs(анлим+локал) echo %date% %time% Dialing %ARG% >>redial.log :pinging echo sleep 300 sec... sleep 300 :start_pinging echo %date% %time% echo Pinging... ping 74.125.39.104 >dev.null && goto pinging || echo ping fault =^> Retry Pinging && goto retry_pinging :retry_pinging echo sleep 120 sec... sleep 120 echo %date% %time% Retry Pinging >>redial.log echo Retry Pinging... ping 74.125.39.104 >dev.null && goto pinging || echo ping fault =^> disconnect && goto redialing 1. надо сделать чтобы окно всегда скрывался(а то в таком ввиде он всегда висит как окно). 2. каждые 5 мин. пингует гугл. Можно ли сделать без этого? |
|
Отправлено: 21:28, 07-12-2009 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать 1. Скрытие консольных окон.
2. Если убрать нарушится работа скрипта - пингом проверяется наличие инета. |
Отправлено: 11:09, 09-12-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Доброго времени суток!
Пользуюсь этим скриптом. Очень помогает при обрывах! (немного переделал его под свое подлючение и убрал перезапуск сетевухи). Но есть одна проблемка. Частенько у провайдера какие-то непонятки с DNS. И в итоге Ping (и по IP и по именам) проходит нормально = redial не срабатывает. Помогите пожалуйста к этому скрипту прикрутить (HTTP HEAD запрос) - проверку соединения по HTTP (например на Google.ru). Заранее благодарен! |
Отправлено: 02:28, 06-02-2010 | #3 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать |
Последний раз редактировалось amel27, 07-02-2010 в 06:17. Причина: ошибка Отправлено: 05:54, 06-02-2010 | #4 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать amel27 Спасибо большое!!!
Скачал curl. И по фрагменту кода, того, что выше. Все работает. Он мне присылает заголовок сайта (без его содержимого). Это мне и надо было. Но я, честно говоря абсолютный чайник в написании скриптов. Разобраться как работает на готовом, это я еще могу. А вот приспособить эту строчку чтобы она при необнаружении HTTP ресурса делала redial... Чет нехватает мне :-( Вот мой скрипт по пингу: @echo off cmdow @ /MIN :start echo %date% %time% echo Start... echo Pinging... ping Google.ru >dev.null && goto pinging || echo ping fault =^> Connect && goto dialing :redialing echo %date% %time% redialing >>redial.log set ARG=0 :dialing echo %date% %time% set /a ARG=ARG+1 echo Disconnect to Beeline... rasdial Beeline /disconnect >dev.null //Beeline - имя соединение vpn на локал echo %date% %time% echo Dialing to Beeline... rasdial Beeline 000xxxxxx@internet.beeline.ua xxxxxx >dev.null && time /T && echo connected to "Beeline" || goto dialing echo %date% %time% Dialing %ARG% >>redial.log echo sleep 60 sec... sleep 60 :pinging echo sleep 60 sec... sleep 60 :start_pinging echo %date% %time% echo Pinging "Google.ru"... ping Google.ru >dev.null || echo ping fault =^> Retry Pinging && goto retry_pinging echo sleep 60 sec... sleep 60 echo %date% %time% echo Pinging "ya.ru"... ping ya.ru >dev.null && goto pinging || echo ping fault =^> Retry Pinging && goto retry_pinging :retry_pinging echo %date% %time% Retry Pinging >>redial.log echo Retry Pinging "ya.ru"... ping ya.ru >dev.null && goto pinging || echo ping fault =^> disconnect && goto redialing Ping я убирать не хочу. Иногда и по нему бывают неполадки. Мне немного стыдно писать такие вопросы. Но, какую строку надо ввести, чтобы при неверном HTTP запросе у меня был redial ??? И при редиале это все сохранялось в лог-файле. |
|
Последний раз редактировалось Strema, 07-02-2010 в 03:05. Отправлено: 02:37, 07-02-2010 | #5 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата Strema:
:pinging echo sleep 300 sec... sleep 300 :start_pinging echo %date% %time% echo Pinging... ping Google.ru >nul && (curl -f -s -I http://www.google.ru|find " 200 OK" >nul) &&^ goto pinging || echo ping fault =^> Retry Pinging && goto retry_pinging :retry_pinging echo sleep 120 sec... sleep 120 echo %date% %time% Retry Pinging >>redial.log echo Retry Pinging... ping Google.ru >nul && (curl -f -s -I http://www.google.ru|find " 200 OK" >nul) &&^ goto pinging || echo ping fault =^> disconnect && goto redialing |
|
Отправлено: 06:22, 07-02-2010 | #6 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать >dev.null нужно заменить на >NUL в винде перенаправление в нул звучит так.
|
Отправлено: 17:03, 02-07-2013 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - скрипт для автоматического реконнекта | bmp1 | Скриптовые языки администрирования Windows | 1 | 09-07-2010 12:01 | |
Интернет - Как в Windows 7 указать адрес VPN Сервера при настройке VPN соединения? | Mysticly | Microsoft Windows 7 | 6 | 24-03-2010 16:30 | |
Нужен скрипт автоматического клика на ссылку | ShiShurik | Вебмастеру | 4 | 15-02-2009 20:16 | |
VPN/Firewall - Схема автоматического подключения к интернету через VPN | Ostap2 | Сетевое оборудование | 3 | 02-06-2008 12:41 | |
Как убрать окно переподключения VPN вообще | usernews | Microsoft Windows NT/2000/2003 | 2 | 16-08-2007 12:34 |
|