|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Проблемы с автоматизацией запуска VPN |
|
Любой язык - [решено] Проблемы с автоматизацией запуска VPN
|
Новый участник Сообщения: 8 |
Профиль | Сайт | Отправить PM | Цитировать
Здравствуйте, уважаемые участники форума OSzone.net!
Передо мной встала такая задача: создать способ автоматического запуска VPN-соединения для подключения к интернету после включения ПК, который бы удовлетворял следующим критериям: 1) был бы универсален для WinXP x86 и Win7 x64; 2) срабатывал бы сразу при запуске ОС, еще до входа в систему, стабильно и гарантированно в 100% случаев; 3) не выводил бы никаких окон, не вылазил бы в трее и вообще никак бы себя не проявлял; 4) был бы максимально изящным решением и настраивался после установки ОС буквально в несколько кликов. Изучив много источников в интернете по этому вопросу, я конечно же отмел примитивное помещение ярлыков в автозагрузку, не удовлетворяющее критерию №2, работу с планировщиком задач, не подходящую по критерию №4, вызов rasdial при помощи bat-файлов, не устраивающий по критерию №3 и остановился на решении данного вопроса при помощи создания твика реестра. Для того, чтобы обеспечить критерий №3, я худо-бедно ознакомился с VBS-скриптами, и создал скрипт обращения к rasdial, наиболее простой по виду, даже не знаю, можно ли еще что-то упростить. Содержание скрипта PROVIDER.vbs следующее (предполагая подключение PROVIDER по логину login и паролю pass): Скрипт успешно заработал, и я перешел к процессу автоматизации его исполнения. Для этой цели я сперва разместил PROVIDER.vbs в папке system32, а затем создал твик реестра PROVIDER.reg такого содержания: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run] "PROVIDER"="PROVIDER.vbs" Я пробовал обращаться к VBS-скрипту по разному, напрямую и через wscript, такими способами: "PROVIDER"="PROVIDER.vbs" "PROVIDER"="C:\\WINDOWS\\System32\\PROVIDER.vbs" "PROVIDER"="wscript PROVIDER.vbs" "PROVIDER"="wscript.exe PROVIDER.vbs" "PROVIDER"="C:\\WINDOWS\\System32\\wscript.exe PROVIDER.vbs" "PROVIDER"="C:\\WINDOWS\\System32\\wscript.exe C:\\WINDOWS\\System32\\PROVIDER.vbs" соединение устанавливалось почти сразу, а другая половина запусков ОС была безуспешна. Интуиция подсказывает, что решение срабатывает тогда, когда уже успела проинициализироваться локальная сеть, и надо как-то связать этот процесс с запуском скрипта. Тогда я решил попробовать пойти путем создания системной службы, написав такой файл PROVIDER.bat: sc create PROVIDER start= auto binPath= "rasdial PROVIDER login pass" DisplayName= "PROVIDER" depend= lanmanworkstation obj= "NT AUTHORITY\LocalService" но в отличие от 50%-ной работы ссылки в реестре не работает вообще. Журнал событий Windows выдает последовательно следующую пару ошибок: №1: Превышение времени ожидания (30000 мс) при ожидании подключения службы "PROVIDER". №2: Сбой при запуске службы "PROVIDER" из-за ошибки Служба не ответила на запрос своевременно. Дальнейшие поиски по данному вопросу ни к чему не привели. Предлагался только кривой вариант в виде создания задержки bat-файлом, минуту пингуя несуществующий локальный IP-адрес, но это же полная чушь... Обращаюсь к вам, уважаемые форумчане. Какова ошибка в моих действиях? Правильно ли предположение о том, что скрипт не работает из-за отсутствия корреляции с lanmanworkstation? Что же мне предпринять, как создать рабочую службу или хотя бы правильный твик реестра? Заранее спасибо за внимание. С уважением, Александр. P.S. В данный момент тестирую на Win7 Ultimate SP1 x64. UPD Я продолжаю экспериментировать, но безуспешно. По совету товарища попробовал переписать PROVIDER.reg с HKLM на HKCU, вроде бы ветка считывается попозже. Но так же, как и в случае с HKLM, запускается все равно через раз. Затем я попробовал создать службу с указанием не rasdial, a скрипта: Все продолжилось с теми же ошибками. Добавление в зависимости lanmanserver тоже не привело к успеху. Я теряюсь в догадках, что еще можно сделать в этом положении... |
|
Отправлено: 14:25, 18-09-2014 |
Новый участник Сообщения: 8
|
Профиль | Сайт | Отправить PM | Цитировать Проблему удалось решить неожиданно простым способом.
Создал службу, как и раньше, но прописал обращение не к rasdial, а к имеющемуся скрипту. Ну и для автоматизации прописал копирование скрипта в System32. Получился такой bat-файл: copy PROVIDER.vbs %windir%\System32\PROVIDER.vbs sc create PROVIDER start= auto binPath= "wscript PROVIDER.vbs" depend= lanmanworkstation obj= "NT AUTHORITY\LocalService" DisplayName= "PROVIDER" Достоинство - это гарантированно работает, соблюдая все мои критерии и устанавливается в один двойной клик. Проблему можно считать решенной, а тему - закрыть. Жаль, правда, что никто так и не высказался по этой проблеме. С уважением, Александр. |
Отправлено: 21:40, 19-09-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать AlSar163, к сожалению ваш способ у меня не сработал. Появляется всё та же пара ошибок:
«Превышение времени ожидания (30000 мс) при ожидании подключения службы «vpn».» «Сбой при запуске службы «vpn» из-за ошибки Служба не ответила на запрос своевременно.» |
Отправлено: 17:34, 22-09-2014 | #3 |
Новый участник Сообщения: 8
|
Профиль | Сайт | Отправить PM | Цитировать Lyrot, у меня тоже сохраняется эта пара ошибок. Но почему-то подключение срабатывает.
У вас сам скрипт при запуске вручную работает? |
Отправлено: 01:48, 10-10-2014 | #4 |
Пользователь Сообщения: 85
|
Профиль | Отправить PM | Цитировать Цитата AlSar163:
|
||
Отправлено: 08:49, 10-10-2014 | #5 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Долго искал решение задачи подключения VPN из командной строки в cmd/bat скрипте.
Одно из условий: не оперировать в скрипте логином и паролем т.к. это очень ненадежно, к тому же они могут изменяться. В итоге сделал просто: Создал ярлык для VPN подключения, обозвал его MaglanInternet.lnk, положил в один каталог с батником и при необходимости подключить vpn из батника делаю это командой: Если возникает необходимость отключить vpn из скрипта, делаю это командой: *Где "MaglanInternet" - название vpn подключения. Что касательно задачи автора поста, то можно было создать ярлык vpn подключения и скопировать его в аутозагрузку. А чтобы не выводилось никаких окон и сообщения достаточно в свойствах этого подключения снять соответствующие галочки. Примечательно что командами можно включать и выключать практически любые соединения кроме VPN. |
Отправлено: 11:56, 11-10-2014 | #6 |
Новый участник Сообщения: 8
|
Профиль | Сайт | Отправить PM | Цитировать zhuk09, а разве зависимость от lanmanworkstation - это не то же самое?
И да, исходная задача состояла в том, чтобы автоматизация настраивалась в пару кликов после установки. А не путем лазанья в политиках, планировщиках и т.п. God_Zilla, ну в моем случае логин\пароль неизменны уже более 5 лет, если уж изменятся, можно и отредактировать скрипт. А насчет надежности... Ну у меня ничего не расшарено, Wi-Fi не раздаю, просто одно подключение для одного ПК, тут не вижу какой-то особой проблемы. Цитата God_Zilla:
|
|
Отправлено: 17:09, 11-10-2014 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Нужна помощь с автоматизацией ESET NOD32 | iceb3rg | Скриптовые языки администрирования Windows | 2 | 21-11-2011 07:12 | |
Помогите сделать назначеное задание с нужной автоматизацией !!! | stavgreengo | AutoIt | 0 | 31-03-2011 13:06 | |
2007 - проблемы запуска программы word | утро | Microsoft Office (Word, Excel, Outlook и т.д.) | 3 | 15-03-2011 21:58 | |
Проблемы запуска меню в биосе. | Andrei-13- | Автоматическая установка Windows 2000/XP/2003 | 5 | 15-11-2006 12:46 | |
[решено] Проблемы запуска компа с Chaintech 6BPM0 | Skynet | Непонятные проблемы с Железом | 37 | 27-08-2006 00:36 |
|