C удивлением, правда небольшим, обнаружил, что в Windows, начиная с версии 8 и в Windows Server, начиная с 2008, Microsoft слегка «доработал напильником» диалог настроек VPN соединения. Точнее, урезал настраиваемые параметры на вкладке Options. Вместо того, что было привычно в Windows 7 и выглядело как:
Теперь убрали практически все и оставили только:
И возник закономерный вопрос– а как теперь настроить автоматическое переподключение и количество попыток повтора соединения если связь прервется?
Методов несколько. Давайте по порядку. По мере возрастания, так сказать, сложности.
Метод 1 — используем Notepad:
Установить нужные параметры вручную. Для этого необходимо перейти в папку
C:Users[USER]AppDataRoamingMicrosoftNetworkConnectionsPbk
Найти там (скорее всего единственный) файлик с именем rasphone.pbk. Это обычный текстовый файл, содерржащий настройки подключения к VPN
Файл можно открыть с помощью notepad.exe (Блокнот)
В общем случае, необходимо отыскать секцию, содержащую ваш VPN – например, такой [PPTP-VPN]
А в ней отыскать строки (TADA!)/ Если ничего не меняли, то выглядеть будет примерно так:
RedialAttempts=3
RedialSeconds=60
IdleDisconnectSeconds=0
RedialOnLinkFailure=1
То есть опять “Microsoft за вас подумали и все решил”.
Но теперь вы знаете, где искать и менять необходимые параметры.
- RedialAttempts=3 – количество попыток пере-подключиться (максимум 99)
- RedialSeconds=60 – количество секунд между попытками пере-подключиться
- IdleDisconnectSeconds=0 — сколько выжидать, чтобы понять что линия оборвалась (0 – не ждать вовсе)
- RedialOnLinkFailure=1 — Перенабрать, если связь оборвалась? 1 – да, 0 — нет
Чтобы параметры применились, необходимо, как и раньше, переподключить VPN.
А потом верить, что Microsoft Windows все сделает за вас 🙂
Примечание: Замечено, что Windows Server 2012 может, по собственной инициативе, использовать папку C:Users[USER]AppDataRoamingMicrosoftNetworkConnectionsPbk_hiddenPbk и положить файл rasphone.pbk в эту папку.
Метод 2 – настраиваем простейшую задачу:
Создать в Task Scheduler задачу, которая будет запускать bat-файл со строкой подключения к необходимому VPN и настроить эту задачу, на запуск, скажем, каждые 5 минут.
Напомню, командная строка для подключения VPN соединения выглядит так
C:windowssystem32rasdial.EXE entryname [username [password|*]] [/DOMAIN:domain]
Там еще параметры есть, но их, если интересно, посмотрите сами.
В задаче не забываем указать, что “запускать всегда”
Указать выполняемый файл, например, такой
Или сказать, чтобы запускался rasdial.exe (VPN User Password – это название вашего VPN-соединения имя_пользователя и ваш_пароль)
Запускать, с интервалом 5 минут, каждый день.
Метод 3. Настраиваем задачу “с вывертами” :)
- Создаем задачу в Task Scheduler
- Определяем в задаче два триггера. Один с использованием XML запроса (по аналогии со статьей Запуск задания планировщика после завершения определенного задания)
<QueryList> <Query Id="0" Path="Application"> <Select Path="Application">*[System[Provider[@Name='RasClient'] and (EventID=20226)]] and *[EventData[Data[4]='829' or '629']]</Select> </Query> </QueryList>
Примечание. Коды: 829 — Remote Disconnect, 629 -Client Disconnect
Второй на базе отслеживания события в Event Log’e:
- Название лога: Microsoft-Windows-NetworkProfile/Operational
- Источник : NetworkProfile
- Event ID: 10000
- В качестве запускаемой программы, выбираем rasdial.exe с параметрами vpn-name username password
- Дополнительно, на вкладке Conditions, можно доопределить следующие параметры
Примечание: Чтобы убедиться заработает такая задача или нет, создайте еще один триггер с Event ID = 10001. Этoт Event появляется при ручном отключении (disconnet) VPN. После этого попробуйте вручную отключить VPN. Соединение сразу же будет восстановлено.
Ну вот, собственно и все.
Примечание Все описанное работает и в Windows 7
Далее под спойлером привожу, без перевода, длинное, подробное и нудное описание Метода 1 и 3 на английском языке, взятое с форума Technet.
This tip is about how to setup a VPN connection and reconnect with the task scheduler. You will learn about activation, connection, disconnection and deactivation of the VPN connection.
- Download VPNRedial.zip — 2.2 KB
Introduction
During Corona times, home office becomes more and more important. Company’s resources are accessed by Virtual Private Networks (VPN). When using the build-in Windows VPN Client for PPTP, L2TP/IPSec, SSTP or IKEv2, connections are not reestablished automatically if the connection is lost. A VPN interruption might be caused by a change of the network or Internet network error.
In the everyday life of home workers and road warriors, a drop of a VPN connection leads to hectic activity, because remote desktop clients stop at first and then try to reconnect. The file explorer gets stuck and then tries to display server shares desperately. With a quick click, the experienced power user tries to reconnect the VPN before all applications say goodbye with a timeout error message and all programs have to be restarted. However, this does not succeed in all cases…
For these circumstances, Microsoft simply forgot the feature of an automatic reconnection for VPN connections. Probably, there is always somewhere a checkbox which is missing desperately…
Configuration and Script Code
VPN Connection Setup
To configure the automatic reconnection of a VPN, user name and password must be stored in the Windows Credential Manager. This behavior is specified during the setup:
If the option «Remember my credentials» is checked, Windows will save the user name and password after the first connection of the VPN.
Reconnection with the Task Scheduler
Then, the reconnect VPN feature can be configured with build-in Windows tools. Starting point are the Windows event logs in which the following events occur:
Event Id | Source | Description |
20226 | RasClient | ROUTERLOG_CORR_ID = The user %1 () dialled a connection named %2 () which has been terminated. The reason code returned on termination is %3 (). |
10000 | NetworkProfile | Network connected. |
Event 2226 occurs when a VPN connection has been terminated. In this case, an attempt is made to reconnect the VPN immediately. If the reconnection fails, the events 10000 and 8001 trigger a reconnection in the case of a new wired or WiFi network connection of the client.
A task can be imported as «My Connection (VPN) Redial.xml» with an XML format into the Task Scheduler and executed with the logged in user account:
1 ="1.0"="UTF-16" 2 <Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> 3 <RegistrationInfo> 4 <Date>2020-04-11T09:32:43.9830717</Date> 5 <Author>LOGICLINKmarcus</Author> 6 <URI>My Connection (VPN) Redial</URI> 7 </RegistrationInfo> 8 <Triggers> 9 <EventTrigger> 10 <Enabled>true</Enabled> 11 <Subscription><QueryList><Query Id="0" 12 Path="Application"><Select Path="Application" 13 >*[System[Provider[@Name='RasClient'] and EventID=20226]] 14 </Select></Query></QueryList></Subscription> 15 </EventTrigger> 16 <EventTrigger> 17 <Enabled>true</Enabled> 18 <Subscription><QueryList><Query Id="0" 19 Path="Microsoft-Windows-NetworkProfile/Operational"> 20 <Select Path="Microsoft-Windows-NetworkProfile/Operational" 21 >*[System[Provider[@Name='NetworkProfile'] and EventID=10000]] 22 </Select></Query></QueryList></Subscription> 23 </EventTrigger> 24 </Triggers> 25 <Principals> 26 <Principal id="Author"> 27 <LogonType>InteractiveToken</LogonType> 28 <RunLevel>LeastPrivilege</RunLevel> 29 </Principal> 30 </Principals> 31 <Settings> 32 <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> 33 <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries> 34 <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries> 35 <AllowHardTerminate>true</AllowHardTerminate> 36 <StartWhenAvailable>false</StartWhenAvailable> 37 <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> 38 <IdleSettings> 39 <StopOnIdleEnd>true</StopOnIdleEnd> 40 <RestartOnIdle>false</RestartOnIdle> 41 </IdleSettings> 42 <AllowStartOnDemand>true</AllowStartOnDemand> 43 <Enabled>false</Enabled> 44 <Hidden>false</Hidden> 45 <RunOnlyIfIdle>false</RunOnlyIfIdle> 46 <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession> 47 <UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine> 48 <WakeToRun>false</WakeToRun> 49 <ExecutionTimeLimit>PT72H</ExecutionTimeLimit> 50 <Priority>7</Priority> 51 </Settings> 52 <Actions Context="Author"> 53 <Exec> 54 <Command>%SystemRoot%System32rasdial.exe</Command> 55 <Arguments>"My Connection (VPN)"</Arguments> 56 </Exec> 57 </Actions> 58 </Task>
In line 55, the name of the VPN connection must be changed to the name of your VPN connection. The VPN connection should have been established manually with user and password before the first use. Thus, credentials do not have to be entered as parameters for rasdial.exe and stored in the task.
Furthermore, the task should be deactivated by default and only activated when the VPN is needed, thereby it does not establish VPN connections and consume bandwidth unnecessarily.
Activation and Connection of the VPN
The activation and deactivation are done by two batch programs:
The batch file «Enable My Connection (VPN).cmd» activates the task for automatic reconnection and then connects the VPN:
1 @echo off 2 3 4 set VPN=My Connection (VPN) 5 set TASK="My Connection (VPN) Redial" 6 7 8 net session >nul 2>&1 9 if NOT %errorLevel% == 0 ( 10 echo Current permissions insufficient. Run script as administrator. 11 pause 12 exit 1 13 ) 14 15 schtasks /Change /TN %TASK% /ENABLE 16 runas /trustlevel:0x20000 "rasdial.exe "%VPN%""
In lines 4 and 5, the two variables VPN
and TASK
identify the VPN connection and the task of the Task Scheduler and must be changed to your individual names accordingly. Using these variables, you can configure multiple batch files for several VPNs.
In the next step, the batch file checks if it was started with administrative rights. The administrative rights are required for the activation of tasks in Task Scheduler. If the batch file was not “Run as administrator”, an error message is displayed and the batch file terminates.
Next, the task TASK
is activated in the Task Scheduler. For the connection of the VPN with stored credentials, administrative rights have to be returned. Thus, rasdial.exe is called via runas.exe with user rights by the trustlevel 0x20000
.
Disconnection and Deactivation of the VPN Connection
The deactivation and disconnection is done in the batch file «DisableMy Connection (VPN).cmd» by the same commands:
1 @echo off 2 3 4 set VPN=My Connection (VPN) 5 set TASK="My Connection (VPN) Redial" 6 7 8 net session >nul 2>&1 9 if NOT %errorLevel% == 0 ( 10 echo Current permissions insufficient. Run script as administrator. 11 pause 12 exit 1 13 ) 14 15 schtasks /Change /TN %TASK% /DISABLE 16 rasdial "%VPN%" /DISCONNECT
The two variables VPN
and TASK
in lines 4 and 5 must be changed according to your names also. During the termination of the VPN connection, the administrative rights do not interfere and therefore, rasdial.exe can be called directly.
References
- RasClient 20226 event
- Auto Reconnect VPN on Disconnection due to any reason – Persistent VPN
History
- 4th May, 2020: Initial version
This tip is about how to setup a VPN connection and reconnect with the task scheduler. You will learn about activation, connection, disconnection and deactivation of the VPN connection.
- Download VPNRedial.zip — 2.2 KB
Introduction
During Corona times, home office becomes more and more important. Company’s resources are accessed by Virtual Private Networks (VPN). When using the build-in Windows VPN Client for PPTP, L2TP/IPSec, SSTP or IKEv2, connections are not reestablished automatically if the connection is lost. A VPN interruption might be caused by a change of the network or Internet network error.
In the everyday life of home workers and road warriors, a drop of a VPN connection leads to hectic activity, because remote desktop clients stop at first and then try to reconnect. The file explorer gets stuck and then tries to display server shares desperately. With a quick click, the experienced power user tries to reconnect the VPN before all applications say goodbye with a timeout error message and all programs have to be restarted. However, this does not succeed in all cases…
For these circumstances, Microsoft simply forgot the feature of an automatic reconnection for VPN connections. Probably, there is always somewhere a checkbox which is missing desperately…
Configuration and Script Code
VPN Connection Setup
To configure the automatic reconnection of a VPN, user name and password must be stored in the Windows Credential Manager. This behavior is specified during the setup:
If the option «Remember my credentials» is checked, Windows will save the user name and password after the first connection of the VPN.
Reconnection with the Task Scheduler
Then, the reconnect VPN feature can be configured with build-in Windows tools. Starting point are the Windows event logs in which the following events occur:
Event Id | Source | Description |
20226 | RasClient | ROUTERLOG_CORR_ID = The user %1 () dialled a connection named %2 () which has been terminated. The reason code returned on termination is %3 (). |
10000 | NetworkProfile | Network connected. |
Event 2226 occurs when a VPN connection has been terminated. In this case, an attempt is made to reconnect the VPN immediately. If the reconnection fails, the events 10000 and 8001 trigger a reconnection in the case of a new wired or WiFi network connection of the client.
A task can be imported as «My Connection (VPN) Redial.xml» with an XML format into the Task Scheduler and executed with the logged in user account:
1 ="1.0"="UTF-16" 2 <Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> 3 <RegistrationInfo> 4 <Date>2020-04-11T09:32:43.9830717</Date> 5 <Author>LOGICLINKmarcus</Author> 6 <URI>My Connection (VPN) Redial</URI> 7 </RegistrationInfo> 8 <Triggers> 9 <EventTrigger> 10 <Enabled>true</Enabled> 11 <Subscription><QueryList><Query Id="0" 12 Path="Application"><Select Path="Application" 13 >*[System[Provider[@Name='RasClient'] and EventID=20226]] 14 </Select></Query></QueryList></Subscription> 15 </EventTrigger> 16 <EventTrigger> 17 <Enabled>true</Enabled> 18 <Subscription><QueryList><Query Id="0" 19 Path="Microsoft-Windows-NetworkProfile/Operational"> 20 <Select Path="Microsoft-Windows-NetworkProfile/Operational" 21 >*[System[Provider[@Name='NetworkProfile'] and EventID=10000]] 22 </Select></Query></QueryList></Subscription> 23 </EventTrigger> 24 </Triggers> 25 <Principals> 26 <Principal id="Author"> 27 <LogonType>InteractiveToken</LogonType> 28 <RunLevel>LeastPrivilege</RunLevel> 29 </Principal> 30 </Principals> 31 <Settings> 32 <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> 33 <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries> 34 <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries> 35 <AllowHardTerminate>true</AllowHardTerminate> 36 <StartWhenAvailable>false</StartWhenAvailable> 37 <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> 38 <IdleSettings> 39 <StopOnIdleEnd>true</StopOnIdleEnd> 40 <RestartOnIdle>false</RestartOnIdle> 41 </IdleSettings> 42 <AllowStartOnDemand>true</AllowStartOnDemand> 43 <Enabled>false</Enabled> 44 <Hidden>false</Hidden> 45 <RunOnlyIfIdle>false</RunOnlyIfIdle> 46 <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession> 47 <UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine> 48 <WakeToRun>false</WakeToRun> 49 <ExecutionTimeLimit>PT72H</ExecutionTimeLimit> 50 <Priority>7</Priority> 51 </Settings> 52 <Actions Context="Author"> 53 <Exec> 54 <Command>%SystemRoot%System32rasdial.exe</Command> 55 <Arguments>"My Connection (VPN)"</Arguments> 56 </Exec> 57 </Actions> 58 </Task>
In line 55, the name of the VPN connection must be changed to the name of your VPN connection. The VPN connection should have been established manually with user and password before the first use. Thus, credentials do not have to be entered as parameters for rasdial.exe and stored in the task.
Furthermore, the task should be deactivated by default and only activated when the VPN is needed, thereby it does not establish VPN connections and consume bandwidth unnecessarily.
Activation and Connection of the VPN
The activation and deactivation are done by two batch programs:
The batch file «Enable My Connection (VPN).cmd» activates the task for automatic reconnection and then connects the VPN:
1 @echo off 2 3 4 set VPN=My Connection (VPN) 5 set TASK="My Connection (VPN) Redial" 6 7 8 net session >nul 2>&1 9 if NOT %errorLevel% == 0 ( 10 echo Current permissions insufficient. Run script as administrator. 11 pause 12 exit 1 13 ) 14 15 schtasks /Change /TN %TASK% /ENABLE 16 runas /trustlevel:0x20000 "rasdial.exe "%VPN%""
In lines 4 and 5, the two variables VPN
and TASK
identify the VPN connection and the task of the Task Scheduler and must be changed to your individual names accordingly. Using these variables, you can configure multiple batch files for several VPNs.
In the next step, the batch file checks if it was started with administrative rights. The administrative rights are required for the activation of tasks in Task Scheduler. If the batch file was not “Run as administrator”, an error message is displayed and the batch file terminates.
Next, the task TASK
is activated in the Task Scheduler. For the connection of the VPN with stored credentials, administrative rights have to be returned. Thus, rasdial.exe is called via runas.exe with user rights by the trustlevel 0x20000
.
Disconnection and Deactivation of the VPN Connection
The deactivation and disconnection is done in the batch file «DisableMy Connection (VPN).cmd» by the same commands:
1 @echo off 2 3 4 set VPN=My Connection (VPN) 5 set TASK="My Connection (VPN) Redial" 6 7 8 net session >nul 2>&1 9 if NOT %errorLevel% == 0 ( 10 echo Current permissions insufficient. Run script as administrator. 11 pause 12 exit 1 13 ) 14 15 schtasks /Change /TN %TASK% /DISABLE 16 rasdial "%VPN%" /DISCONNECT
The two variables VPN
and TASK
in lines 4 and 5 must be changed according to your names also. During the termination of the VPN connection, the administrative rights do not interfere and therefore, rasdial.exe can be called directly.
References
- RasClient 20226 event
- Auto Reconnect VPN on Disconnection due to any reason – Persistent VPN
History
- 4th May, 2020: Initial version
В настоящее время я подключаюсь к Интернету через привязанное соединение с моей мобильной сетью передачи данных. Чтобы обойти провайдеров мобильной сети, настаивая на том, чтобы я платил им за использование той же услуги через другое устройство, я также использую VPN для фактического подключения к Интернету. Естественно, сетевой сигнал может легко пропадать и прерывать соединение, и это отключает VPN, даже если само привязанное соединение никогда не отключается.
По иронии судьбы отличный пример моей проблемы можно найти на следующей странице Microsoft Technet, посвященной замечательному решению для Windows 7 / Windows Server 2008 R2:https://technet.microsoft.com/en-us/library/dd637830(v= ws.10).aspx
Например, рассмотрим пользователя, едущего на работу в поезде. Чтобы максимально использовать свое время, она использует беспроводную мобильную широкополосную карту для подключения к Интернету, а затем устанавливает VPN-подключение к сети своей компании. Когда поезд проходит через туннель, она теряет подключение к Интернету. После выхода из туннеля беспроводная мобильная широкополосная карта автоматически подключается к Интернету. Однако в более ранних версиях Windows VPN не переподключается, и ей необходимо повторить многоэтапный процесс подключения к VPN. Это может быстро занять много времени для мобильных пользователей с прерывистой связью.
Однако я не могу найти ни следа этой функции в Windows 10, ни чего-либо подобного. Есть ли способ, чтобы VPN-соединение всегда пыталось переподключиться до тех пор, пока я не отключу явно (например, опция «Автоматически подключаться» в обычных сетях), или просто оставалось в живых, чтобы оно могло возобновиться после восстановления сетевого подключения?
Как известно, в Windows из коробки напрочь отсутствует способ автоматического дозвона, в частности установления надёжного соединения по VPN, чтобы оно не разрывалось никогда, и всегда восстанавливалось в случаях временного исчезновения интернета. Такая возможность давно есть в роутерах, например Mikrotik, но что делать, если в сети такого роутера нет и соединение необходимо поднять на Windows, причём исключительно средствами системы? Для этого нам на помощь приходит планировщик заданий и команда бесконечного дозвона из командной строки.
Первое, что нужно сделать — создать само VPN-соединение с нужными нам настройками, назовём его SmartVPN. По ходу мастера настройки обязательно нужно отметить «Разрешить использовать это подключение другим пользователям», так как дозваниваться мы будем от имени системы.
В параметрах соединения убираем галочки:
- Отображать ход подключения
- Запрашивать имя, пароль, сертификат и т. д.
- Включать домен входа в Windows
- Перезвонить при разрыве связи
При необходимости убираем использование основного шлюза в удалённой сети и корректируем другие настройки.
Второй этап состоит из создания задачи по запуску бесконечного цикла, который будет проверять и восстанавливать соединение, если оно не подключено. Для этого в планировщике создаём задачу, которая будет запускаться при включении компьютера и запускаться от имени системы, а действием указываем запуск программы:
cmd /c "for /l %x in (0,0,0) do (rasdial SmartVPN Login Pass & timeout 5)"
Где cmd — программа командной строки, а остальное — её параметры, при этом SmartVPN — название соединения, Login и Pass — логин и пароль для дозвона соответственно.
Команда timeout делает паузу в 5 секунд перед следующей попыткой дозвона, при этом если соединение уже установлено, то ничего не произойдёт. Также timeout не существует на WinXP/2003, так что если вы где-то её используете, нужно будет городить замену через ping. Запуск от имени системы позволяет скрыть консольные окна и дозвон можно будет увидеть разве что в процессах и по запущенной задаче в планировщике. Существует не консольная программа дозвона rasphone, где пароль указывать не нужно (будет использован сохранённый в системе для этого соединения), но пользоваться ей никак нельзя — при ошибках она будет выводить графические сообщения и дозвон прекратится.
P. S. Если вы хотите сделать так, чтобы задача не висела в планировщике в статусе работы, замените «cmd /c» в начале команды на «cmd /c start cmd /c», таким образом процесс дозвона дальше не будет зависеть от планировщика.
Готовый xml-файл задачи для импорта: SmartVPN.xml [3 KB]
В последние несколько лет все более популярной становится технология организации удаленного рабочего места (будь то отдельный сотрудник и целый офис) за счет технологии VPN. Однако пользователю не очень удобно каждый раз при загрузке компьютера вручную инициировать VPN соединение. Как сделать так, чтобы VPN подключение поднималось автоматически при загрузке Windows или при входе пользователя в систему и не требовало бы от пользователя никаких дополнительных манипуляций? Попробуем в этом разобраться.
Предположим, что для подключения к VPN, вы используете специально созданное подключение с именем «vpn_office». В том случае, если новое VPN создавалось с настройками по-умолчанию, скорее всего его название будет содержать пробелы или русские символы. Для дальнейшей работы, лучше его переименовать, так, чтобы имя 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:Windowssystem32.
Список текущих удаленных подключений можно отобразить, набрав команду rasdialбез параметров.
Чтобы отключить удаленное соединение, нужно воспользоваться командой:
rasdial «имя_ VPN_подключения» /disconnect
Нас в данном случае интересует процесс как с помощь данной утилиты можно установить VPN подключение. Формат команды в этом случае будет такой:
rasdial [Имя_VPN_подключения] [имя_пользователя] [пароль]
[Имя_VPN_подключения] — название VPN подключения в системе
[имя_пользователя] [пароль] – информация, выданная вашим ISP или администратором.
В том случае, если название подключения или имя пользователя содержит пробел, служебные или русские символы, такой параметр нужно брать в кавычки.
В моем случае, команда подключения будет такой:
rasdial vpn_office winitpro_admin [email protected]@
В случае успешной установки VPN соединения и прохождения авторизации, отобразится строка «Command completed successfully», это означает, что соединение с VPN сервером установлено.
Следующий шаг – настройка автоматического запуска данной команды.
Попробуем настроить автозапуск 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:Windowssystem32rasdial.exe с аргументами vpn_office winitpro_admin [email protected]@
После окончания работы мастера, в списке задач, выполняемых при загрузке Windows, появится еще одна с именем AutoConnectVPN. Теперь при следующей загрузке системы VPN соединение должно подняться автоматически.
Для Windows 7/ Win 8. В том случае, если соединение не установиться, попробуйте в планировщике задач найти созданное вами задание и в его свойствах на вкладке General укажите — Run with highest privileges (запускать с правами администратора), это должно помочь.
Автозапуск VPN с помощью реестра
VPN подключение можно устанавливать автоматически и с помощью реестра. В реестре существует специальная ветка, программы в которой Windows автоматически запускает каждый раз при загрузке.
- Запустите редактор реестра (regedit.exe) и перейдите в ветку HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun
- Создайте новый строковый параметр именем vpnConnect и значением rasdial vpn_office winitpro_admin [email protected]@
- Закройте реестр и перезагрузите компьютер
Если нужно запускать подключение только для текущего пользователя, то эту операцию нужно произвести с разделом HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
Автоматическое подключение VPN с помощью автозагрузки
Просто создать ярлык для нужного VPN подключения и скопируйте (перетяните) созданный ярлык в каталог Автозагрузка (C:ProgramDataMicrosoftWindowsStart MenuProgramsStartup) меню «Пуск».
Возможно, многие читатели будут возмущены, почему самый простой способ автоматизации установки VPN соединения идет последним. Однако поспешу сообщить, что такая методика почему-то в некоторых случаях не всегда работает, особенно в ОС с UAC.
Автостарт VPN с помощью системной службы
Данная методика предполагает, что мы создадим собственную службу Windows, которая отрабатывает процедуру VPN соединения до входа пользователя в систему.
В командной строке с правами администратора, создадим новую службу командой:
sc create autoVPN start= auto binPath= "rasdial vpn_office winitpro_admin [email protected]@" DisplayName= "AutoVPN" depend= lanmanworkstation obj= "NT AUTHORITYLocalService"
Чтобы служба запускалась уже после запуска всех системных служб, поставим ее в зависимость от службы lanmanworkstation. В консоли services.msc должна появиться новая служба autoVPN, если она отсутствует, проверьте правильность введенной команды.
Учтите, что это псевдо-служба, и она не будет отображаться в процессах, отрабатывая один раз при запуске системы.
Удалить службу можно командой:
sc delete autoVPN
В этой статье мы разобрали наиболее популярные способы организации автоматического VPN подключения в Windows. Если что-то не заработало, или вы знаете собственный способ организации автозапуска VPN — описывайте все в комментариях. Указанную схему можно протестировав, подняв собственный VPN сервер на Windows 7 и отработать всю процедуру на нем.
как всегда, спасибо winitpro.ru
Join @AdmNtsRu on Telegram
Смотрите также:
Перейти к содержимому
В Windows 10 1903 обнаружился странный баг с настроенным VPN подключением. При попытке подключиться к удаленному VPN L2TP серверу окно с VPN-подключением замирает в состоянии “подключение”. При этом не появляется даже запрос логина и пароля, а подключение через какое-то время разрывается без сообщения об ошибке.
Похоже на то, что в этом диалоге VPN подключения блокируется вывод окна с запросом данных пользователя. В результате VPN подключение никак не может завершиться.
Есть обходное решение этой проблемы. Используем для установления VPN подключения классическую Windows утилиту rasphone.exe, которая присутствует в современных версиях Windows 10. Запустим утилиту:
Win+R C:WindowsSystem32rasphone.exe
Выбираем VPN подключение и жмём кнопку “Подключить”. После этого появится стандартное окно с указанием имени пользователя и пароля для VPN подключения
VPN туннель должен успешно подняться.
Для удобства пользователя можно вынести ярлык rasphone.exe на рабочий стол. Для автоматического подключения можно указать в настройках ярлыка имя VPN подключения
C:WINDOWSsystem32rasphone.exe -d "VPN Name"
2 596