Автозапуск VPN в Windows | Windows для системных администраторов

Автозапуск VPN в Windows

В последние несколько лет все более популярной становится технология организации удаленного рабочего места (будь то отдельный сотрудник и целый офис) за счет технологии VPN. Однако пользователю не очень удобно каждый раз при загрузке компьютера вручную инициировать  VPN соединение. Как сделать так, чтобы VPN подключение поднималось автоматически при загрузке Windows или при входе пользователя в систему и не требовало бы от пользователя никаких дополнительных манипуляций? Попробуем в этом разобраться.

Предположим, что для подключения к VPN, вы используете специально созданное подключение с именем «vpn_office». В том случае, если новое VPN создавалось с настройками по-умолчанию, скорее всего его название будет содержать пробелы или русские символы (процесс создания VPN подключения в Windows 8). Для дальнейшей работы, лучше его переименовать, так, чтобы имя VPN подключения содержало только английский символы, а пробелы в названии отсутствовали (Правой клавишей по значку соединения и «Переименовать»).

Настройка автоматического vpn подключения в Windows

В параметрах VPN подключения снимите галочки у параметров:

  1. Отображать ход подключения (Display progress while connecting)
  2. Запрашивать имя, пароль и т.д. (Prompt for name and password, certificate, etc)
  3. Включать домен входа в Windows (Include Windows logon domain)

Параметры vpn подключения

Существует несколько способов автоматической установки 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@

Используем rasdial  для установки vpn соединения в windows

В случае успешной установки VPN соединения и прохождения авторизации, отобразится строка «Command completed successfully», это означает, что соединение с VPN сервером установлено.

Следующий шаг – настройка автоматического запуска данной команды.

Автозапуск VPN подключения с помощью планировщика Windows


Попробуем настроить автозапуск VPN с помощью функций планировщика (Task Sheduller) Windows. Для этого запустите программу Start->All Programs-> Accessories-> System Tools->Task Scheduler, или же в командной строке выполните: taskschd.msc

Создадим новое простое задание планировщика с именем «AutoConnectVPN»Новое задание планировщика AutoConnectVPN

Далее нужно указать, когда необходимо выполнять задачу. В данном случае нас интересуют следующие возможности планировщика:

  • When the computer starts (при загрузке компьютера)
  • When I log on (при входе пользователя в систему)

Запуск VPN соедиения при загрузке

Выбор в данном случае за вами, т.к. в зависимости от требования к организации системы иногда нужно, чтобы VPN автоматически подключался при загрузке компьютера (пользователь еще не вошел в систему). Это удобно использовать на серверах (для служб, работающих в фоновом режиме или для выполнения других автоматических операций).  Если же требуется, чтобы VPN запускался только при входе пользователя (начало рабочего дня оператора или работника удаленного офиса), нужно выбрать второй вариант.

Затем указываем что планировщик должен запустить программу (Start a program).Запуск программы

В следующем окне нужно указать какую программу нужно запустить и с какими параметрами. Мы запускаем C:\Windows\system32\rasdial.exe с аргументами vpn_office winitpro_admin $ecretnaRFr@z@

Автостарт VPN с помощью планировщика Windows

После окончания работы мастера, в списке задач, выполняемых при загрузке Windows, появится еще одна с именем AutoConnectVPN. Теперь при следующей загрузке системы VPN соединение должно подняться автоматически.

Для Windows 7/ Win 8. В том случае, если соединение не установиться, попробуйте в планировщике задач найти созданное вами задание и в его свойствах  на вкладке General укажите — Run with highest privileges (запускать с правами администратора), это должно помочь.

Автозапуск VPN с помощью реестра

VPN подключение можно устанавливать автоматически и с помощью реестра. В реестре существует специальная ветка, программы в которой  Windows  автоматически запускает каждый раз при загрузке.

  1. Запустите редактор реестра (regedit.exe) и перейдите в ветку HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  2. Создайте новый строковый параметр именем vpnConnect и значением rasdial vpn_office winitpro_admin $ecretnaRFr@z@
  3. Закройте реестр и перезагрузите компьютерЗапуск vpn соеднинения через автостарт в реестре

Если нужно запускать подключение только для текущего пользователя, то эту операцию нужно произвести с разделом HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

Автоматическое подключение VPN с помощью автозагрузки

Просто создать ярлык для нужного VPN подключения и скопируйте (перетяните) созданный ярлык в каталог Автозагрузка (C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup) меню «Пуск».Ярлык для vpn в автозагрузку

Возможно, многие читатели будут возмущены, почему самый простой способ автоматизации установки 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 и отработать всю процедуру на нем.

Еще записи по теме: Windows 7
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:

Комментариев: 13

Оставить комментарий
  1. Evgeny | 18.02.2014

    Спасибо, помогло!!!

    Ответить
  2. Andrii | 10.04.2014

    Remote Access error 623 — на Ваших данных.
    Как решается?

    Ответить
    • itpro | 11.04.2014

      Согласно KB320693:
      You may receive this error message if the VPN connection is configured to use a dial-up connection that has been deleted.
      Если по русски: скорее всего удалено подключение, используемое по умолчанию. Зайдите в Сетевые подключения, удалите лишние подключения. Затем выберите в качестве подключения по умолчанию любое из доступных. Потом в контекстном меню этого подключения выбирите “не использовать по-умолчанию»

      Ответить
  3. Yerel | 18.07.2014

    На Windows 8.1 последний способ не сработал. Если попробовать запустить службу вручную, появляется следующее сообщение: http://rghost.ru/56953509

    Ответить
  4. Sergey | 23.07.2014

    такая же проблема при запуске службы

    Ответить
  5. Анатолий | 12.08.2014

    Все предложенные способы предполагают хранить пароль в открытом виде. Как этого избежать?

    Ответить
  6. Yerel | 18.09.2014

    Перезалил скриншот:
    [IMG]http://i65.fastpic.ru/big/2014/0917/a8/1ea84580f9f221d7bac08ef7fedb64a8.png[/IMG]

    Ответить
    • AlSar | 20.09.2014

      Yerel, тоже столкнулся с такой же проблемой, как и вы, 3 дня подряд над ней просидел, удалось решить. Описываю последовательность действий. Здесь и далее примем, что у нас подключение PROVIDER, срабатывающее по логину login и паролю pass.
       
      1) Удалите свою службу через командную строку набрав:
      sc delete PROVIDER
      2) Создайте файл блокнота со следующим содержанием:
      CreateObject(«WScript.Shell»).Run «rasdial PROVIDER login pass», 0, false
      3) Назовите полученный файл PROVIDER.vbs. Таким образом, вы получите скрипт на языке VBS, который вызывает все ту же самую команду RASDIAL, причем действует скрытно без всяких окон в фоновом режиме (флаг 0) и сразу по отрабатыванию закрывается (флаг false)
      4) Создайте в этой же папке еще один файл блокнота с таким содержанием:
      copy PROVIDER.vbs %windir%\System32\PROVIDER.vbs
      sc create PROVIDER start= auto binPath= «wscript PROVIDER.vbs» depend= lanmanworkstation obj= «NT AUTHORITY\LocalService» DisplayName= «PROVIDER»
      5) Назовите его PROVIDER.bat. Сейчас вы получили исполняемый файл, который делает 2 действия. Сначала он копирует только что созданный вами скрипт в системную папку System32. А затем создается служба PROVIDER, автоматически отрабатывающая при старте системы, зависимая от «Рабочей станции», исполняемая от лица «Локальной службы» и вызывающая созданный вами скрипт из папки System32 через скрипт-хост WScript.
      6) Запустите PROVIDER.bat и все заработает! Единственный минус — в журнале событий все равно будет вылезать та же самая ошибка, что на вашем скриншоте, и все равно служба вручную не запускается, но это незначительно, ведь VPN-то при загрузке системы теперь сама подключается! На будущее очень советую эти файлики надежно сохранить и запускать этот BAT-файл каждый раз после переустановки ОС и создания подключения. Проверено на Windows XP и Windows 7.
       
      P.S. Администратору сайта — внесите этот вариант в ваш материал, уточнив вариант со службой и с планировщиком. В случае с реестром у меня не получилось гарантированно запустить скрипт, работало через раз, через HKLM и HKCU. Еще стоит отметить, что просто RASDIAL и в планировщике, и в реестре дает черное CMD-окно при подключении, а скрипт не дает.
       
      C уважением, AlSar.

      Ответить
      • Yerel | 20.09.2014

        Спасибо за ответ. Но у меня этот способ тоже не сработал, увы:
        http://i65.fastpic.ru/big/2014/0920/92/36443e27673a41bcd26d2b7c1f890c92.png

        Ответить
      • Yerel | 20.09.2014

        Спасибо за ответ, но этот способ у меня тоже не сработал, увы. Кстати, батник можно сократить до такого вида:
        sc create vpn start= auto binPath= vpn.vbs depend= lanmanworkstation obj= «NT AUTHORITY\LocalService»

        Ответить
        • AlSar | 21.09.2014

          Yerel, я даже догадываюсь, почему у вас не сработало, в силу «сокращения» батника. Допустим команду copy вы отметаете и копируете вручную, ваше право, но я автоматизировал процесс. Допустим, вы не присваиваете службе отображаемое имя. Но вот в параметре binPath вы допускаете ошибку. binPath — путь к бинарнику, т.е. к ехе-ншнику, dll-ке, на худой конец — батнику. А у вас просто ссылка на скрипт. Я тоже так делал, и это не работало. В журнале ошибок Windows посмотрите. Увидите «vpn.vbs не является приложением Win32, запуск службы невозможен». Запуск через Wscript здесь обязателен. Я 3 дня посвятил этой проблеме и проверил уже все возможные варианты.

          Ответить
          • Yerel | 21.09.2014

            >Запуск через Wscript здесь обязателен.
            Я пробовал оба варианта. Подключения не происходит, а в журнале появляются две ошибки:
            «Превышение времени ожидания (30000 мс) при ожидании подключения службы «vpn».»
            «Сбой при запуске службы «vpn» из-за ошибки
            Служба не ответила на запрос своевременно.»

            Ответить
  7. Аноним | 30.08.2017

    куча даунов оставляют свои пароли в свою корпоративную сеть открытом виде, а потом плачут что кто-то зашифровал на работе базы данных и все документы.avi

    Ответить
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

Сказать Спасибо! можно на этой странице или (еще лучше) поделиться с друзями ссылкой на понравившуюся статью в любимой социальной сети(специально для этого на сайте присуствуют кнопки популярных соц. сетей).

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)



MAXCACHE: 0.42MB/0.00069 sec