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

22

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

nedm
источник

Ответы:

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

EM0
источник
Я не мог заставить Rsdial работать на Windows 8.1, но это работало отлично. +1
Smalltown2k
Я должен был предоставить явные учетные данные, чтобы заставить его работать на Windows 8.1.
Джейк Эдвардс
Я получаю ту же ошибку, используя rasdialили без пустых строк. rasphone -dработает. Стоит отметить, что если вы запускаете его из командной строки вручную, он возвращается к командной строке сразу после выполнения (соединение подключается параллельно). Но если вы поместите команду в .batфайл batch script ( ) и запустите .batфайл, она будет работать последовательно, то есть она не вернет управление пакету, пока соединение не будет установлено. Разница может сбить с толку нового пользователя, тестирующего команду.
ADTC
При использовании rasphone при каждом подключении появляется диалоговое окно. Есть ли способ сделать его автоматическим и избежать всплывающего диалогового окна? Я вижу в этой теме ( superuser.com/questions/106506/… ), и люди сказали, что мы можем перейти на вкладку параметров свойств VPN-подключения и снимите флажок «Запрашивать имя и пароль, сертификат и т. д.». Тем не менее, я использую Windows 10, и я не могу найти такой вариант.
Кит Нг
3

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

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

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

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

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

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

После настройки отредактируйте настройки My VPN

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

Сохранить учетные данные

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

Настройки хоста VPN назначения

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

Настройки тихого VPN up

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

Сеть 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.

STTR
источник
0

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

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

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

Send ("{ENTER}")

Посмотрите на команду Отправить .

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

Nik
источник