Назад | Перейти на главную страницу

Подключение / отключение VPN-клиента через командную строку в XP

Есть ли способ запустить собственный клиент Windows VPN на рабочей станции XP Pro и открыть / закрыть соединение из командной строки, чтобы его можно было записать в пакетном файле?

Да, если VPN-соединение называется "My VPN", тогда:

rasdial "My VPN"

наберет соединение. Если не удается подключиться, он устанавливает уровень ошибки для кода ошибки RAS, чтобы ваш сценарий мог обнаружить сбой подключения. Если вам нужно указать имя пользователя и пароль вместо использования сохраненных учетных данных, используйте:

rasdial "My VPN" username password

Чтобы отключить соединение, используйте:

rasdial "My VPN" /disconnect

JR

Альтернатива, которая работает под 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" "" "" (это две пары двойных кавычек, между которыми ничего нет)

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

Контроль сетевых подключений

При первом запуске отредактируйте настройки My VPN.

После настройки отредактируйте настройки My 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

Используйте powershell или WSH.

Схему командной строки для клиента я еще не видел. Но это не значит, что его нельзя автоматизировать в скриптах. Вот двухэтапный подход,

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

Если я правильно помню, код для нажатия Enter в окне просто,

Send ("{ENTER}")

Посмотрите на послать команда.

Вы можете настроить AutoIt на одной из ваших административных машин, заставить скрипт работать, создать для него исполняемый файл и передать его пользователям. Затем его можно запустить из командной строки как исполняемый файл.