SetVPN.exe (2023.10.05)
Эта программа из командной строки создаёт VPN соединение в Windows (в стандартном VPN-клиенте Windows).
Программа рассчитана на Win7, но с некоторыми ограничениями работает и в WinXP.
Win8/10/11(22H2) тоже поддерживаются, но созданные соединения не настраиваются в GUI и поэтому там лучше использовать функционал PowerShell Add-VpnConnection.
Программа предоставляется как есть, без каких-либо гарантий и ответственности!
Для получения справки по ключам – SetVPN.exe /help_ru
Основные ключи:
/add
– добавляет новое VPN-соединение. Если соединение с таким именем уже есть – ошибка ERROR_ALREADY_EXISTS.
/add /force
– аналогично, но если соединение с таким именем уже есть – оно будет удалено и создано заново.
/delete
– удаляет соединение.
/help_ru
– эта справка.
/help_en
– английская справка.
/savedump
– сохраняет в файл ответы RASENTRYW и RASCREDENTIALSW.
/viewlogin
– показывает логин из указанного VPN-соединения.
/list
– выводит список соединений, адреса, pbk-базы.
В %errorlevel% возвращает стандартные коды ошибок Windows, 0 – ошибки нет.
/name="connect_to_office"
– задаёт имя VPN-соединения (с которым будут все работать остальные ключи).
/servername="192.168.1.1"
– адрес VPN-сервера. Допустимо указать адрес IPv4, IPv6, или домен.
/ip4addr=192.168.1.50
– локальный IPv4-адрес который надо назначить. Если ключа нет – брать с DHCP.
/ip4dns1=192.168.1.2 /ip4dns2=192.168.1.3
– адрес первичного и вторичного DNS-серверов. Если ключа нет – брать с DHCP.
/ip4wins1=192.168.1.2 /ip4wins2=192.168.1.3
– адрес первичного и вторичного WINS-серверов. Если ключа нет – брать с DHCP.
/ip4metric=123
– явно указывает метрику интерфейса. Если ключа нет – авто.
/ip4DefGw
– наличие этого ключа означает шлюз по умолчанию
/ip4DisableCBSRt
– отключает добавление маршрута основанное на классе. (начиная с win7)
Установка ключа ip4DisableCBSRt
удаляет ключ ip4DefGw
/ip6addr /ip6dns1 /ip6dns2 /ip6metric /ip6DefGw
– аналогичные ключи для IPv6.
/DisableIP4
– отключает поддержку TCP/IPv4
/DisableIP6
– отключает поддержку TCP/IPv6
/DisableFileAndPrint
– отключает File and Print Sharing for Microsoft Networks
/DisableClientForMSNet
– отключает Client for Microsoft Networks
/DisableNbtOverIP
– отключает NetBIOS через TCP/IP
/OnlyIP
– сразу DisableNbtOverIP DisableClientForMSNet DisableFileAndPrint
Все ключи ip, а также DisableIP – в WinXP работают не корректно и использовать их там не следует. В WinXP все параметры будут по умолчанию (DHCP, шлюз по умолчанию, и т.п.).
/DnsSuffix="test"
– DNS-суффикс подключения.
/RegIpWithDns
– зарегистрировать адрес этого подключения в DNS.
/UseDnsSuffixForReg
– использовать DNS-суффикс при регистрации в DNS.
Ключ UseDnsSuffixForReg
автоматически включает в себя RegIpWithDns
.
Протокол проверки подлинности (возможно несколько ключей):
/PAP
– PAP.
/SPAP
– Shiva. Только в WinXP, у Win7 его нет.
/CHAP
– CHAP.
/W95MsCHAP
– Microsoft CHAP для Win95. Только в WinXP, у Win7 его нет.
/MsCHAP1
– Microsoft CHAP v1. Только в WinXP, у Win7 его нет!!!
/MsCHAP2
– Microsoft CHAP v2.
/EAP
– EAP. Однако через SetVPN.exe его нельзя настроить в полной мере. Ключ EAP нельзя использовать вместе с любыми другими ключами протоколов.
Если не указан вообще никакой из ключей – будет указан MsCHAP2, но если указаны какие-то ключи – то будут разрешены только указанные протоколы.
Шифрование данных (один ключ).
/encryption_none
– шифрование запрещено
/encryption_optional
– шифрование не обязательно
/encryption_normal
– шифрование обязательно (по умолчанию, если не указан)
/encryption_maximum
– максимальное шифрование обязательно
Тип используемого VPN (один ключ).
/vs_Default
– перебирает всё. Это режим по умолчанию, если не указано ничего.
/vs_PptpOnly
– только PPTP.
/vs_PptpFirst
– сначала PPTP, если не получилось – то IKEv2, SSTP, L2TP.
/vs_L2tpOnly
– только L2TP.
/vs_L2tpFirst
– сначала L2TP, если не получилось – то IKEv2, SSTP, PPTP.
/vs_SstpOnly
– только SSTP. Начиная с WinVistaSP1
/vs_SstpFirst
– сначала SSTP, если не получилось – то IKEv2, PPTP, L2TP.
/vs_Ikev2Only
– только IKEv2. Начиная с Win7
/vs_Ikev2First
– сначала IKEv2, если не получилось – то SSTP, PPTP, L2TP.
/vs_PptpSstp
– сначала PPTP, если не получилось – SSTP. Начиная с Win7.
/vs_L2tpSstp
– сначала L2TP, если не получилось – SSTP. Начиная с Win7.
/vs_Ikev2Sstp
– сначала IKEv2, если не получилось – SSTP. Начиная с Win7.
/vs_GREOnly
– только GRE. Начиная с Win8.
/vs_ProtocolList
– Win10+.
/UsePSK="MyPreSharedKey"
– для проверки подлинности в L2TP использовать PSK, с указанным значением. Иначе – сертификаты.
/DisableIKENameEkuCheck
– отключить проверку атрибутов имени и использования у сертификата сервера.
/DisableMobility
– (win7) Отключить мобильность IKEv2.
/NetworkOutageTime=300
– (win7) IKEv2 время отказа сети (секунды).
Параметры набора номера:
/HideDialingProgress
– неотображать ход подключения
/HideUserPw
– иначе перед коннектом предлагать ввода имени и пароля.
/PreviewDomain
– включать домен входа в Windows
Параметры PPP:
/DisableLcpExt
– отключает расширения LCP
/DisableSwCompression
– отключает программное сжатие данных
/MultiLink
– согласование многоканальных подключений для одноканальных
Параметры повторного звонка:
/RedialCount=5
– число попыток установки связи.
/RedialPause=10
– интервал между попытками, в секундах (стандартные – 1,3,5,10,30,60,120,…).
/IdleDisconnect=600
– время простоя до разъединения. Секунды. Если 0 – то простой неограничен, если ключа нет – системное значение по умолчанию.
/ReConnect
– перезвонить при разрыве связи.
/UserName="user"
– логин
/Password="pass"
– пароль
/Domain="test"
– домен для логина
/CredsForAll
– сохранить логин, пароль и домен для всех пользователей. Нужны администраторские права при запуске.
/UseLogonCredentials
– использовать имя/пароль входа в Windows (только MsCHAP).
/NoCacheCreds
– снимает флаг CacheCredentials (Win8+).
Параметры выбора PBK-базы, с которой работать:
/PbkCurrentUser
– работать с PBK-базой текущего пользователя – CSIDL_APPDATA\Microsoft\Network\Connections\Pbk\rasphone.pbk
/PbkAllUsers
– работать с системной PBK-базой – CSIDL_COMMON_APPDATA\Microsoft\Network\Connections\Pbk\rasphone.pbk
/PbkFile="C:\folder\file.pbk"
– работать с указанной PBK-базой.
По умолчанию (если /Pbk*-ключ не указан) – используются обе PBK-базы (системная и текущего пользователя): VPN-соединения создаются (/add) в системной PBK-базе при запуске с правами администратора либо в пользовательской при обычном запуске, просматривать (/viewlogin, /list) VPN-соединения можно в обеих базах без администраторских прав.
Параметры, которые обычно не нужны, но есть в API:
/DontUseRasCredentials
/Internet
/UseCountryAndAreaCodes
/UseTypicalSettings
(WinVista+)
/UsePreSharedKeyForIkev2Initiator
(Win8+)
/UsePreSharedKeyForIkev2Initiator
(Win8+)
/UsePreSharedKeyForIkev2Responder
(Win8+)
/AutoTriggerCapable
(Win8.1+)
/IsThirdPartyProfile
(Win8.1+)
/AuthTypeIsOtp
(Win8.1+)
/IsAlwaysOn
(Win10+)
/IsPrivateNetwork
(Win10+)
/PlumbIKEv2TSAsRoutes
(Win10+)
/HideStatusMonitor
– удаляет значок в трее.
/PreviewPhoneNumber
– перед вызовом можно изменить адрес сервера.
/SecureRoutingCompartment
(WinVista+)
Типовые примеры использования SetVPN.exe:
setvpn /name="test1" /add /servername="192.168.192.1" /username="aaa" /password="bbb" /disableip6 /onlyip /mschap2 /chap /reconnect
setvpn /name="test2" /add /force /servername="192.168.192.1" /username="aaa" /password="bbb" /disableip6 /onlyip /mschap2 /reconnect /vs_L2tpOnly /UsePSK="psk" /CredsForAll
setvpn /name="test1" /delete
setvpn /name="test2" /savedump
setvpn /name="test2" /viewlogin
setvpn /list
История развития программы: | |
v.2.0 (2023.10.05) | Исправлена ошибка с невозможностью создания первого соединения от имени пользователя; Поправлен PE-заголовок, внутренняя оптимизация; Все функции переведены на юникодный вариант (например при сохранении конфига в файл, имена соединения); Новые возможности – выбор PBK-файла с которым работать (системный или текущего пользователя) – аргументы /Pbk*; Новые возможности – вывод списка соединений (команда /list). |
v.1.4 (2023.09.13) | Исправлена ошибка с установкой шлюза по умолчанию. |
v.1.3 (2022.03.07) | Исправлены некоторые ошибки (при сохранении логина/пароля), улучшена поддержка Win8/Win10/Win11 (RASEO2_CacheCredentials по умолчанию). |
v.1.2 (2022.03.01) | Исправлены некоторые ошибки, программа теперь работает и в современных версиях Windows (поддерживаются WinXP/WinVista/Win7/Win8/Win10/Win11(21H2). |
v.1.1 (2016.02.18) | Мелкие багфиксы. |
v.1.0 (2010) | Первая публичная версия; |
Скачать “CMD_SetVPN_v20.rar” – 25,24 КБВерсия 2.0.0.1, 2023-10-05