VPN-Client verbinden / trennen über die Befehlszeile in XP

22

Gibt es auf einer XP Pro-Workstation eine Möglichkeit, den nativen Windows VPN-Client zu starten und eine Verbindung über die Befehlszeile zu öffnen / schließen, damit sie in einer Batchdatei als Skript ausgeführt werden kann?

nedm
quelle

Antworten:

31

Ja, wenn die VPN-Verbindung "Mein VPN" heißt, dann:

rasdial "My VPN"

wählt die Verbindung. Hilfreicherweise wird die Fehlerstufe auf den RAS-Fehlercode gesetzt, wenn keine Verbindung hergestellt werden kann, sodass Ihr Skript einen Verbindungsfehler erkennen kann. Wenn Sie einen Benutzernamen und ein Kennwort eingeben müssen, anstatt die gespeicherten Anmeldeinformationen zu verwenden, gehen Sie wie folgt vor:

rasdial "My VPN" username password

So trennen Sie eine Verbindung:

rasdial "My VPN" /disconnect

JR

John Rennie
quelle
2
+1. Dies ist genau das, wonach ich in meinen Build-Automatisierungsskripten suche. Viel einfacher als ich erwartet hatte.
Joseph Ferris
FWIW, funktioniert auch in Vista (wie erwartet)
Scott Isaacs
1
Lesen Sie die Antwort von EM, wenn Sie mit Windows 7 arbeiten . Möglicherweise müssen Sie verwenden, rasphonewenn rasdialdies bei Ihnen nicht funktioniert.
ADTC
5

Eine Alternative, die unter Windows 7 funktioniert (bei XP nicht sicher), ist:

rasphone -d "My VPN"

Das Dialogfeld "Wählen" wird geöffnet, so als würden Sie auf die Verbindung doppelklicken. Wenn Sie den Benutzernamen und das Passwort gespeichert haben, wird automatisch gewählt.

rasdial hat bei mir nicht funktioniert (unter 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.

Wenn Sie unter Windows 7 leere Zeichenfolgen hinzufügen, funktioniert dies mit zwischengespeicherten Anmeldeinformationen: rasdial "My VPN" "" "(das sind zwei doppelte Anführungszeichen, zwischen denen sich nichts befindet)

EM0
quelle
Ich konnte rasdial nicht für Windows 8.1 verwenden, aber das hat perfekt funktioniert. +1
Smalltown2k
Ich musste explizite Anmeldeinformationen angeben, damit es unter Windows 8.1 funktioniert.
Jake Edwards
Ich bekomme den gleichen Fehler rasdialmit oder ohne die leeren Zeichenfolgen. rasphone -dfunktioniert. Beachten Sie Folgendes: Wenn Sie es manuell über eine Befehlszeile ausführen, kehrt es unmittelbar nach der Ausführung zur Befehlszeile zurück (die Verbindung wird parallel hergestellt). Aber wenn Sie den Befehl in einer Batch - Skript (Platz .bat) Datei und die laufen .batDatei, funktioniert es seriell - das heißt, sie nicht die Kontrolle der Charge zurückkehrt , bis die Verbindung beendet ist. Der Unterschied könnte für einen neuen Benutzer verwirrend sein, der den Befehl ausprobiert.
ADTC
Wenn Sie rasphone verwenden, wird jedes Mal ein Dialogfeld angezeigt, wenn ich eine Verbindung herstelle. Gibt es eine Möglichkeit, es automatisch zu machen und zu verhindern, dass das Dialogfeld angezeigt wird? Ich sehe in diesem Thread ( superuser.com/questions/106506/… ), und die Leute sagten, wir können in die Optionsregisterkarte der Eigenschaften für die VPN-Verbindung gehen und Deaktivieren Sie "Nach Name und Kennwort, Zertifikat usw. fragen". Ich verwende jedoch Windows 10 und kann diese Option nicht finden.
Kit Ng
3

Führen Sie die Befehlszeile aus: Control ncpa.cpl

Bildbeschreibung hier eingeben

Kontrolle der Netzwerkverbindungen

Kontrolle der Netzwerkverbindungen

Bearbeiten Sie in der ersten Ausführung Meine VPN-Einstellungen

Bildbeschreibung hier eingeben

Bearbeiten Sie nach dem Setup die Einstellungen für "Mein VPN"

Bildbeschreibung hier eingeben

Anmeldeinformationen speichern

Bildbeschreibung hier eingeben

Ziel-VPN-Hosteinstellungen

Bildbeschreibung hier eingeben

Stille VPN-Einstellungen

Bildbeschreibung hier eingeben

VPN-Vernetzung

Bildbeschreibung hier eingeben

VPN TCP erweitert

Bildbeschreibung hier eingeben

VPN-Gateway

Bildbeschreibung hier eingeben

Erweiterte Netzwerkverbindung

Bildbeschreibung hier eingeben

Stellen Sie die Priorität der Schnittstelle ein

Bildbeschreibung hier eingeben

Set Priority Interface anwenden

Bildbeschreibung hier eingeben

Legen Sie die Priorität des Netzwerkanbieters fest

Bildbeschreibung hier eingeben

Skript 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

Benutze Powershell oder WSH.

STTR
quelle
0

Ich habe noch kein Befehlszeilenschema für den Client gesehen. Dies bedeutet jedoch nicht, dass es in Skripten nicht automatisiert werden kann. Hier ist ein zweistufiger Ansatz,

  • Erstellen Sie den Verknüpfungslink für das VPN wie für Ihre VPN-Benutzer üblich
    • Behalten Sie die Konfiguration mit Benutzername und Passwort bei
  • Verwenden Sie AutoIt nur zum Skripten,
    • Starten der Verknüpfung und
    • Drücken Sie die EINGABETASTE im VPN-Anmeldefenster (was ein Benutzer tut, wenn alles konfiguriert ist)

Wenn ich mich richtig erinnere, ist der Code zum Drücken der Eingabetaste in einem Fenster einfach:

Send ("{ENTER}")

Sehen Sie sich den Befehl Senden an .

Sie können AutoIt auf einem Ihrer Administrationscomputer einrichten, das Skript funktionsfähig machen, ausführen und den Benutzern zur Verfügung stellen. Es kann dann über die Befehlszeile als ausführbare Datei gestartet werden.

nik
quelle