Підключення / відключення VPN-клієнта за допомогою командного рядка в XP


22

На робочій станції XP Pro чи є спосіб запустити рідний клієнт Windows VPN та відкрити / закрити з'єднання з командного рядка, щоб воно могло бути сценарієм у пакетному файлі?

Відповіді:


31

Так, якщо підключення VPN називається "Мій VPN", тоді:

rasdial "My VPN"

набере з'єднання. Корисно встановити рівень помилок у коді помилки RAS, якщо він не вдалося підключитися, тому ваш скрипт може виявити пошкодження з'єднання. Якщо вам потрібно ввести ім'я користувача та пароль замість збережених облікових даних, використовуйте:

rasdial "My VPN" username password

Для відключення з'єднання використовуйте:

rasdial "My VPN" /disconnect

JR


2
+1. Це саме те, що я шукаю в своїх сценаріях автоматизації побудови. Набагато простіше, ніж я передбачав.
Джозеф Ферріс

FWIW, також працює у Vista (як очікувалося)
Скотт Ісаак

1
Дивіться відповідь EM, якщо ви працюєте в Windows 7 . Можливо, вам доведеться використовувати, rasphoneякщо rasdialдля вас це не працює.
ADTC

5

Альтернативою, яка працює під управлінням Windows 7 (не впевнений у XP), є:

rasphone -d "My VPN"

Це відкриває діалогове вікно "набору номера", як якщо б ви двічі клацнули на з'єднанні. Якщо у вас збережено ім’я користувача та пароль, він автоматично набирається.

rasdial не працював для мене (у Windows 7):

Verifying username and password...

Remote Access error 691 - The remote connection was denied because the user name
 and password combination you provided is not recognized, or the selected authen
tication protocol is not permitted on the remote access server.

Якщо ви додасте порожні рядки під Windows 7, він працює з кешованими обліковими записами: rasdial "My VPN" "" "" (це дві пари подвійних лапок, між якими нічого немає)


Мені не вдалося отримати розпорядження для роботи в Windows 8.1, але це спрацювало чудово. +1
Smalltown2k

Мені довелося надати явні облікові дані, щоб він працював у Windows 8.1.
Джейк Едвардс

Я отримую таку ж помилку, використовуючи rasdialпорожні рядки або без них. rasphone -dпрацює. Варто зазначити, що якщо ви запускаєте його з командного рядка вручну, він повертається в командний рядок відразу після виконання (з'єднання підключається паралельно). Але якщо ви помістите команду у файл пакетного сценарію ( .bat) і запустіть .batфайл, він працює послідовно - тобто він не повертає контроль до пакету, поки з'єднання не завершиться. Різниця може бути заплутаною для нового користувача, який тестує команду.
ADTC

Використовуючи rasphone, щоразу, коли я підключаюся, з'являється діалогове вікно. Чи є спосіб зробити це автоматичним і уникнути появи діалогового вікна? Я бачу в цій темі ( superuser.com/questions/106506/… ), і люди сказали, що ми можемо перейти на вкладку параметрів властивостей для підключення VPN і зніміть прапорець "Запит на ім'я та пароль, сертифікат тощо". Однак я використовую Windows 10 і не можу знайти такий варіант.
Kit Ng

3

Запустити командний рядок: Control ncpa.cpl

введіть тут опис зображення

Управління мережевими підключеннями

Управління мережевими підключеннями

По-перше, відредагуйте Мої налаштування VPN

введіть тут опис зображення

Після налаштування відредагуйте Мої налаштування VPN

введіть тут опис зображення

Збережіть облікові дані

введіть тут опис зображення

Налаштування хоста VPN призначення

введіть тут опис зображення

Безшумні налаштування VPN

введіть тут опис зображення

VPN мереж

введіть тут опис зображення

VPN TCP розширений

введіть тут опис зображення

Шлюз VPN

введіть тут опис зображення

Розширене мережеве з'єднання

введіть тут опис зображення

Встановити пріоритетний інтерфейс

введіть тут опис зображення

Встановити пріоритетний інтерфейс

введіть тут опис зображення

Встановіть пріоритетного провайдера мережі

введіть тут опис зображення

Сценарій Silent-dial.cmd:

:: - comment in cmd) - REM alternative
:: disabled command output

@echo off

:: Silent dial "My VPN"
@rasphone -d "My VPN"

:: wait 10 sec W2K3 server test
::@SET waitsec=10
::@choice /T %waitsec% /N /D y /M "wait %waitsec% sec"

:: wait 10 sec - alternative - XP .. 7
@ping 127.0.0.1 -n 10 > NUL 

:: ********************************************
:: get path
:: set route table
:: run application 
:: ********************************************

@ping 127.0.0.1 -n 10 > NUL 

:: silent close "My VPN" connection
@rasphone -h "My VPN"

:: END Silent-dial.cmd

Використовуйте powerhell або WSH.


0

Я ще не бачив схеми командного рядка для клієнта. Але це не означає, що його неможливо автоматизувати в сценаріях. Ось двоступеневий підхід,

  • Створіть посилання ярлика для VPN, як це робиться зазвичай для користувачів VPN
    • Нехай він налаштовується на ім’я користувача та пароль
  • Використовуйте AutoIt лише для сценарію,
    • запуск ярлика та
    • натискання клавіші ENTER у вікні входу в VPN (що робить користувач, коли все налаштовано)

Якщо я пам'ятаю правильно, код для натискання клавіші enter у вікні просто,

Send ("{ENTER}")

Подивіться на команду Send .

Ви можете налаштувати AutoIt на одному зі своїх адміністративних машин, налагодити роботу сценарію, зробити його та виконувати і надати користувачам. Потім він може бути запущений з командного рядка як виконуваний файл.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.