Klient VPN łączy się / rozłącza za pomocą wiersza poleceń w XP

22

Czy na stacji roboczej XP Pro istnieje sposób na uruchomienie rodzimego klienta Windows VPN i otwarcie / zamknięcie połączenia z wiersza poleceń, aby można go było utworzyć w pliku wsadowym?

nedm
źródło

Odpowiedzi:

31

Tak, jeśli połączenie VPN nosi nazwę „Moja VPN”, to:

rasdial "My VPN"

wybierze połączenie. Pomocnie ustawia poziom błędu na kod błędu RAS, jeśli nie uda się połączyć, aby skrypt mógł wykryć awarię połączenia. Jeśli musisz podać nazwę użytkownika i hasło zamiast korzystać z zapisanych poświadczeń, użyj:

rasdial "My VPN" username password

Aby rozłączyć połączenie, użyj:

rasdial "My VPN" /disconnect

JR

John Rennie
źródło
2
+1. Właśnie tego szukam w skryptach automatyzacji kompilacji. O wiele łatwiej niż się spodziewałem.
Joseph Ferris
FWIW, działa również w systemie Vista (zgodnie z oczekiwaniami)
Scott Isaacs
1
Zobacz odpowiedź EM, jeśli korzystasz z systemu Windows 7 . Może być konieczne użycie, rasphonejeśli rasdialnie działa dla Ciebie.
ADTC
5

Alternatywą, która działa pod Windows 7 (nie jestem pewien co do XP) jest:

rasphone -d "My VPN"

Spowoduje to wyświetlenie okna dialogowego „wybieranie numeru”, tak jak w przypadku dwukrotnego kliknięcia połączenia. Jeśli masz zapisaną nazwę użytkownika i hasło, automatycznie wybierze numer.

rasdial nie działało dla mnie (w systemie 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.

Jeśli dodasz puste ciągi w systemie Windows 7, będzie on działał z poświadczeniami z pamięci podręcznej: rasdial „My VPN” „„ ”„ (są to dwie pary podwójnych cudzysłowów bez żadnych odstępów między nimi)

EM0
źródło
Nie mogłem zmusić rasdial do pracy w systemie Windows 8.1, ale działało to doskonale. +1
Smalltown2k
Musiałem podać wyraźne poświadczenia, aby uruchomić go w systemie Windows 8.1.
Jake Edwards,
Ten sam błąd pojawia się przy użyciu rasdialpustych ciągów lub bez nich. rasphone -dPrace. Należy zauważyć, że jeśli uruchomisz go ręcznie z wiersza poleceń, powróci on do wiersza poleceń natychmiast po wykonaniu (połączenie łączy się równolegle). Ale jeśli umieścisz polecenie w pliku skryptu wsadowego ( .bat) i uruchomisz ten .batplik, zadziała to szeregowo - to znaczy, nie zwróci kontroli nad partią, dopóki połączenie nie zostanie zakończone. Różnica może być myląca dla nowego użytkownika testującego polecenie.
ADTC
Korzystając z rasphone, przy każdym połączeniu pojawia się okno dialogowe. Czy jest jakiś sposób, aby ustawić to automatycznie i uniknąć wyskakiwania okna dialogowego? Widzę w tym wątku ( superuser.com/questions/106506/... ) i ludzie powiedzieli, że możemy przejść do karty opcji właściwości połączenia VPN i odznacz „Monituj o nazwę i hasło, certyfikat itp.”. Korzystam jednak z systemu Windows 10 i nie mogę znaleźć takiej opcji.
Kit Ng
3

Uruchom wiersz poleceń: Control ncpa.cpl

wprowadź opis zdjęcia tutaj

Kontrola połączeń sieciowych

Kontrola połączeń sieciowych

W pierwszym uruchomieniu edytuj Moje ustawienia VPN

wprowadź opis zdjęcia tutaj

Po instalacji edytuj Moje ustawienia VPN

wprowadź opis zdjęcia tutaj

Zapisz poświadczenia

wprowadź opis zdjęcia tutaj

Ustawienia hosta docelowego VPN

wprowadź opis zdjęcia tutaj

Ciche ustawienia VPN

wprowadź opis zdjęcia tutaj

Sieć VPN

wprowadź opis zdjęcia tutaj

VPN TCP Advanced

wprowadź opis zdjęcia tutaj

Brama VPN

wprowadź opis zdjęcia tutaj

Zaawansowane połączenie sieciowe

wprowadź opis zdjęcia tutaj

Ustaw interfejs priorytetowy

wprowadź opis zdjęcia tutaj

Zastosuj ustawiony interfejs priorytetowy

wprowadź opis zdjęcia tutaj

Ustaw priorytetowego operatora sieci

wprowadź opis zdjęcia tutaj

Skrypt 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

Użyj PowerShell lub WSH.

STTR
źródło
0

Nie widziałem jeszcze schematu wiersza poleceń dla klienta. Ale to nie znaczy, że nie można go zautomatyzować w skryptach. Oto podejście dwuetapowe,

  • Utwórz łącze do skrótu dla VPN, tak jak zwykle dla użytkowników VPN
    • Skonfiguruj przy użyciu nazwy użytkownika i hasła
  • Używaj AutoIt tylko do pisania skryptów,
    • uruchomienie skrótu i
    • naciśnięcie ENTER w oknie logowania VPN (co robi użytkownik, gdy wszystko jest skonfigurowane)

Jeśli dobrze pamiętam, kod do naciśnięcia Enter w oknie jest po prostu,

Send ("{ENTER}")

Spójrz na Send polecenie .

Możesz skonfigurować AutoIt na jednym z twoich komputerów administracyjnych, uruchomić skrypt, zrobić i wykonać go, a także przekazać użytkownikom. Następnie można go uruchomić z wiersza poleceń jako plik wykonywalny.

nik
źródło