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