Есть ли способ запустить собственный клиент 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.
Схему командной строки для клиента я еще не видел. Но это не значит, что его нельзя автоматизировать в скриптах. Вот двухэтапный подход,
Если я правильно помню, код для нажатия Enter в окне просто,
Send ("{ENTER}")
Посмотрите на послать команда.
Вы можете настроить AutoIt на одной из ваших административных машин, заставить скрипт работать, создать для него исполняемый файл и передать его пользователям. Затем его можно запустить из командной строки как исполняемый файл.