Пришлось мне столкнуться с задачей: Как сделать автозапуск VPN при старте системы?
Сразу скажу, что добавление ярлыка в автозагрузку Windows результата не принесло.
К счастью выход нашёлся быстро.
Итак:
1) Создаём VPN соединение в Windows, через которое планируем подключится к интернету.
2) Создаём .bat файл-сценарий со следующим содержимым:
rasdial "ИМЯ_VPN_СОЕДИНЕНИЯ_В_WINDOWS" "ИМЯ_ПОЛЬЗОВАТЕЛЯ" "ПАРОЛЬ"
Пример:
Допустим Мы создали VPN соединение и назвали его VPN_MS
Имя пользователя: User_name
Пароль для соединения: My_pass
Тогда подключаемся так:
rasdial VPN_MS User_name My_pass
3) Создаём ярлык для Нашего сценария и добавляем его в автозагрузку.
для отключения можно использовать команду
rasdial /disconnect
UPD:
Вот нашёл скрипт, для мониторинга VPN соединения, если соединение потеряно, то производить переподключение:
@echo off
:: Имя соединения
set connection=My VPN Connection
:: Задержка между проверками, секунд (примерно)
set pause=10
:LOOP
set connected=0
for /f "delims=" %%i in ('rasdial') do (
if "%%i"=="%connection:"=%" set connected=1
)
if %connected%==0 (
echo %date% %time% "%connection%" connection not detected. Dialing...
rasdial "%connection:"=%"
) else (
echo %date% %time% "%connection%" connection is active.
)
ping -n %pause% 127.0.0.1>nul 2>&1
goto LOOP
Если я правильно понял то
а) set connection= - Это имя Вашего VPN соединения в Windows.
б)set pause=10 - Без комментариев.
в) ping -n %pause% 127.0.0.1>nul 2>&1 - тут IP следует заменить на какой-нибудь IP из интернета.
Источник
UPD2:
Так-же можно сделать автостарт VPN в качестве сервиса, без входа под пользователем
Для начала вспомним как в Windows поднять сконфигурированный VPN из командной строки при помощи стандартной команды rasdial:
rasdial connection-name username password
Итак, конфигурация автоматической закрузки VPN при старте системы:
1. Скачать и установить Windows Server 2003 Resource Kit Tools или скопировать необходимые файлы с другой машины.
2. Скопировать файлы Autoexnt.exe, Servmess.dll, и Instexnt.exe в каталог %SystemRoot%\System32\.
3. Создать файл %SystemRoot%\System32\autoexnt.bat с командой rasdial connection-name username password.
4. В командной строке ввести instexnt install, нажать ENTER.
После перезагрузки компьютера, будут выполнены команды из пакетного файла autoexnt.bat.
Источник
От себя добавлю: если Вы хотите, что-бы rasdial не рвал соединение после выхода из под пользователя сделайте:
1) Пуск => выполнить => regedit
2) Перейдите: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
3) Создайте ключ KeepRasConnections: REG_SZ: 1
4) Перезагрузитесь