В последние несколько лет все более популярной становится технология организации удаленного рабочего места (будь то отдельный сотрудник и целый офис) за счет технологии VPN. Однако пользователю не очень удобно каждый раз при загрузке компьютера вручную инициировать VPN соединение. Как сделать так, чтобы VPN подключение поднималось автоматически при загрузке Windows или при входе пользователя в систему и не требовало бы от пользователя никаких дополнительных манипуляций? Попробуем в этом разобраться.
Предположим, что для подключения к VPN, вы используете специально созданное подключение с именем «vpn_office». В том случае, если новое VPN создавалось с настройками по-умолчанию, скорее всего его название будет содержать пробелы или русские символы (процесс создания VPN подключения в Windows 8). Для дальнейшей работы, лучше его переименовать, так, чтобы имя VPN подключения содержало только английский символы, а пробелы в названии отсутствовали (Правой клавишей по значку соединения и «Переименовать»).
В параметрах VPN подключения снимите галочки у параметров:
- Отображать ход подключения (Display progress while connecting)
- Запрашивать имя, пароль и т.д. (Prompt for name and password, certificate, etc)
- Включать домен входа в Windows (Include Windows logon domain)
Существует несколько способов автоматической установки VPN соединения в Windows. Большинство из них работают корректно практически во всех версиях Windows и отличаются способами реализации автоматического запуска сценария инициации VPN подключения. В некоторых случаях какая-то конкретная методика может не заработать, и вам придется попробовать альтернативную. Также стоит отметить, что описанные методики автоматического подключения к VPN были протестированы в Windows 7, однако с небольшими модификациями и правками (или совсем без оных), их можно использовать и в других ОС семейства Windows
Для установки автоматического VPN соединения мы будем использовать встроенную в систему утилиты rasdial.
RASDIAL. Установка VPN подключения из командной строки
Утилита rasdial появилась еще в самых ранних версиях Windows и использовалась для управления удаленными подключениями. Найти утилиту rasdial.exe можно в системном каталоге C:\Windows\system32\.
Список текущих удаленных подключений можно отобразить, набрав команду rasdial без параметров.
Чтобы отключить удаленное соединение, нужно воспользоваться командой:
rasdial «имя_ VPN_подключения» /disconnect
Нас в данном случае интересует процесс как с помощь данной утилиты можно установить VPN подключение. Формат команды в этом случае будет такой:
rasdial [Имя_VPN_подключения] [имя_пользователя] [пароль]
[Имя_VPN_подключения] — название VPN подключения в системе
[имя_пользователя] [пароль] – информация, выданная вашим ISP или администратором.
В том случае, если название подключения или имя пользователя содержит пробел, служебные или русские символы, такой параметр нужно брать в кавычки.
В моем случае, команда подключения будет такой:
rasdial vpn_office winitpro_admin $ecretnaRFr@z@
В случае успешной установки VPN соединения и прохождения авторизации, отобразится строка «Command completed successfully», это означает, что соединение с VPN сервером установлено.
Следующий шаг – настройка автоматического запуска данной команды.
Автозапуск VPN подключения с помощью планировщика Windows
Попробуем настроить автозапуск VPN с помощью функций планировщика (Task Sheduller) Windows. Для этого запустите программу Start->All Programs-> Accessories-> System Tools->Task Scheduler, или же в командной строке выполните: taskschd.msc
Создадим новое простое задание планировщика с именем «AutoConnectVPN»
Далее нужно указать, когда необходимо выполнять задачу. В данном случае нас интересуют следующие возможности планировщика:
- When the computer starts (при загрузке компьютера)
- When I log on (при входе пользователя в систему)
Выбор в данном случае за вами, т.к. в зависимости от требования к организации системы иногда нужно, чтобы VPN автоматически подключался при загрузке компьютера (пользователь еще не вошел в систему). Это удобно использовать на серверах (для служб, работающих в фоновом режиме или для выполнения других автоматических операций). Если же требуется, чтобы VPN запускался только при входе пользователя (начало рабочего дня оператора или работника удаленного офиса), нужно выбрать второй вариант.
Затем указываем что планировщик должен запустить программу (Start a program).
В следующем окне нужно указать какую программу нужно запустить и с какими параметрами. Мы запускаем C:\Windows\system32\rasdial.exe с аргументами vpn_office winitpro_admin $ecretnaRFr@z@
После окончания работы мастера, в списке задач, выполняемых при загрузке Windows, появится еще одна с именем AutoConnectVPN. Теперь при следующей загрузке системы VPN соединение должно подняться автоматически.
Для Windows 7/ Win 8. В том случае, если соединение не установиться, попробуйте в планировщике задач найти созданное вами задание и в его свойствах на вкладке General укажите — Run with highest privileges (запускать с правами администратора), это должно помочь.
Автозапуск VPN с помощью реестра
VPN подключение можно устанавливать автоматически и с помощью реестра. В реестре существует специальная ветка, программы в которой Windows автоматически запускает каждый раз при загрузке.
- Запустите редактор реестра (regedit.exe) и перейдите в ветку HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
- Создайте новый строковый параметр именем vpnConnect и значением rasdial vpn_office winitpro_admin $ecretnaRFr@z@
- Закройте реестр и перезагрузите компьютер
Если нужно запускать подключение только для текущего пользователя, то эту операцию нужно произвести с разделом HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Автоматическое подключение VPN с помощью автозагрузки
Просто создать ярлык для нужного VPN подключения и скопируйте (перетяните) созданный ярлык в каталог Автозагрузка (C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup) меню «Пуск».
Возможно, многие читатели будут возмущены, почему самый простой способ автоматизации установки VPN соединения идет последним. Однако поспешу сообщить, что такая методика почему-то в некоторых случаях не всегда работает, особенно в ОС с UAC.
Автостарт VPN с помощью системной службы
Данная методика предполагает, что мы создадим собственную службу Windows, которая отрабатывает процедуру VPN соединения до входа пользователя в систему.
В командной строке с правами администратора, создадим новую службу командой:
sc create autoVPN start= auto binPath= "rasdial vpn_office winitpro_admin $ecretnaRFr@z@" DisplayName= "AutoVPN" depend= lanmanworkstation obj= "NT AUTHORITY\LocalService"
Чтобы служба запускалась уже после запуска всех системных служб, поставим ее в зависимость от службы lanmanworkstation. В консоли services.msc должна появиться новая служба autoVPN, если она отсутствует, проверьте правильность введенной команды.
Учтите, что это псевдо-служба, и она не будет отображаться в процессах, отрабатывая один раз при запуске системы.
Удалить службу можно командой:
sc delete autoVPN
В этой статье мы разобрали наиболее популярные способы организации автоматического VPN подключения в Windows. Если что-то не заработало, или вы знаете собственный способ организации автозапуска VPN — описывайте все в комментариях. Указанную схему можно протестировав, подняв собственный VPN сервер на Windows 7 и отработать всю процедуру на нем.