понедельник, 18 апреля 2011 г.

Запускаем 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.з Закройте редактор реестра.

Примечание. По умолчанию вновь созданная служба настроена на автоматический запуск
при перезагрузке системы. Для изменения этого режима на «Вручную»
запустите приложение «Службы» из панели управления и измените значение
параметра на «Вручную».

(c) contracw