воскресенье, 4 апреля 2010 г.

Запускаем VPN подключение как службу

Запускаем VPN подключение как службу

Возможность пользовать приложение как службу дает ахрененно нужную нам весЧь - постоянное подключение VPN к серверу, несмотря на ребуты компа Для этого:
1. Создаем VPN подключение и настраиваем его как надо, то есть включаем максимально количество реконнектов на случай разрыва (я б писал с синтервалом в 5 минут, что зазря машину мучать) и называем его VPNCONNECT.
2. Создаем батник autovpn.bat (название отражает смысл- автоматический пуск сокдинения vpn). В теле батника пишем строку "@cmd /k start rasdial NAME LOGIN PASS", где NAME - название подключения (в нашем случае VPNCONNECT); LOGIN и PASS собсно логин и пасс Их к сожалению придется указывать в явнм виде, поэтому батник лучше куда-нить запихнуть поглубже... Но мы же для примера
3. положим его в "C:\windows\vpn"
4. Далее регистрируем его в качестве службы. Для этого пользуемся инструкцией с сайта мелкософта или смотрим мной кешированную копию или краткая выжимка:
Цель: заставить Windows установть службу "autovpnconnect", которая будет запускать "autovpn.bat" в качестве службы. Для этого
4.а понадобится (качаем) например набор Windows 2003 Resource Kit в состав которого входят нужные нам программы. Программа Instrsrv.exe отвечает за установку и удаление системных служб
из операционной системы Windows, а программа Srvany.exe позволяет
выполнять в качестве службы любое приложение Windows.
4.б Берем оттуда соответственно только Instrsrv.exe и Srvany.exe и кладем в определенную нами выше для этой задачи диреторию "C:\windows\vpn"
4.в В командной строке MS-DOS (выполняется CMD.EXE) введите следующую команду:
"C:\windows\vpn\INSTSRV.EXE autovpnconnect C:\windows\vpn\SRVANY.EXE"

ПРИМЕЧАНИЕ. Для проверки правильности создания службы убедитесь, что параметр в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\autovpnconnect указывает на SRVANY.EXE. Если этот параметр установлен неправильно, служба прекращает работу вскоре после запуска и возвращает код события 7000 — «Не удается запустить имя_службы


4.г Запустите редактор реестра (Regedt32.exe) и найдите следующий подраздел:
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\autovpnconnect"
4.д В меню «Правка» выберите «Добавить раздел». Введите следующие данные и нажмите кнопку «ОК»:
Название раздела: Параметры
Класс: <пустая строка (пусто)>
4.е Выберите раздел «Parameters» (Параметры).
4.ж В меню «Правка» выберите «Добавить параметр». Введите следующие данные и нажмите кнопку «ОК»:
Имя параметра: Application
Тип данных: REG_SZ
Строка: "C:\windows\vpn\autovpn.bat"
4.з Закройте редактор реестра.

Примечание. По умолчанию вновь созданная служба настроена на автоматический запуск
при перезагрузке системы. Для изменения этого режима на «Вручную»
запустите приложение «Службы» из панели управления и измените значение
параметра на «Вручную».
Взято от сюда: http://contracw.blogspot.com/2008/06/vpn_7223.html

2 комментария:

Анонимный комментирует...

Кому надо, вышлю программку, сделанную мной на основе выше описанного способа. Вопросы на почту:
carek1119@mail.ru

Анонимный комментирует...

считаю, что для приведенного в статье случая вернее будет использовать код батника следующий
start rasdial NAME LOGIN PASS