Stellen Sie beim Initiieren der RDP Remote Desktop-Verbindung automatisch eine Verbindung zu VPN her und trennen Sie anschließend die VPN-Verbindung

Ich weiß, dass ich eine Batchdatei erstellen kann, um eine VPN-Verbindung zu initiieren, gefolgt von einer RDP-Sitzung, aber ich möchte wissen, ob es möglich ist (in Windows 7 und idealerweise auch Windows XP), die VPN-Verbindung an den RDP-Sitzungsstatus gebunden zu haben.

Szenario: Der Benutzer muss zuerst VPN, um RDP zu können. Idealerweise würde der Benutzer auf ein Symbol klicken (Batch-Datei?) um VPN-Verbindung zu initiieren und RDP-Sitzung zu laden. Wenn sie die RDP-Sitzung schließen, möchte ich, dass das VPN dann automatisch trennen Sie die Verbindung, damit sie nicht versehentlich ihre nachfolgenden Nicht-RDP-Browsing + Internet-Aktivitäten über das VPN weiterleiten.

Author: Josh Newman, 2012-03-27

3 answers

Mir ist klar, dass diese Frage sehr alt ist, aber ich dachte, ich würde eine Methode für jeden hinzufügen, der darüber stolpert.

@echo off

:: Connecting to VPN...
rasdial "VPN Name" user pass

echo Running RDP...
"Connect to Server.rdp"

echo Finished - disconnecting from VPN...
rasdial "VPN Name" /disconnect

Rasdial ist in Windows integriert und wird zum Verbinden und Trennen verwendet. Ersetzen Sie "VPN-Name" mit dem, was Sie Ihre VPN-Verbindung genannt, wenn Sie es einrichten. Ersetzen Sie "Benutzer" und "pass" in der ersten Zeile durch den tatsächlichen Benutzernamen und das Kennwort, um eine Verbindung zum VPN herzustellen (auch wenn Sie die Anmeldeinformationen beim Erstellen des VPN gespeichert haben, müssen Sie bei Rasdial Folgendes eingeben davon).

Da Batch-Skripte synchron ausgeführt werden, schließt rasdial die Verbindung zum VPN ab, bevor die RDP-Datei geöffnet wird, und während der gesamten Zeit, in der die RDP-Sitzung geöffnet ist, wartet das Batch-Skript. Sobald die RDP-Sitzung geschlossen ist, wird der letzte Befehl ausgeführt, um das VPN zu trennen. Einfach!

Ich neige dazu, eine Verknüpfung zum Batch-Skript auf dem Desktop zu erstellen und das Symbol in das normale RDP-Skript zu ändern (von C:\Windows\System32\mstsc.exe-Datei). Sie können das Skript minimiert starten wenn Sie nicht möchten, dass der Benutzer das cmd-Fenster sieht, aber ich möchte es sichtbar lassen, damit er sehen kann, ob beim Herstellen einer Verbindung zum VPN Fehler auftreten.

 5
Author: Gechurch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-06-07 20:58:26

Wenn Sie über ein eigenständiges VPN-Clientprogramm (z. B. Cisco AnyConnect) verfügen, suchen Sie mithilfe von Google nach Befehlszeilenoptionen für dieses Produkt, um festzustellen, ob Sie eine Verbindung mit einem einzelnen Befehl herstellen können. Beispiel: AnyConnect, der generische Cisco-Client und der Windows-VPN-Client unterstützen dies. Möglicherweise müssen Sie Ihr Kennwort jedoch im Klartext in einer Batchdatei oder einem Skript speichern.

Sobald Sie diese Informationen haben, schreiben Sie eine Batchdatei, die den VPN-Client aufruft, wahrscheinlich schläft einige Sekunden, um sicherzustellen, dass die VPN-Verbindung gut ist, und ruft dann den Remotedesktopclient über die Befehlszeile auf.

Wenn Sie wirklich schick sein möchten, können Sie anstelle eines Schlafes zur Überprüfung der Konnektivität einen Ping für eine Ressource haben, auf die nur über das VPN zugegriffen werden kann, und das Skript einen Fehler zurückgeben lassen, wenn dieser Ping nicht erfolgreich ist.

Nehmen Sie Ihre Batch-Datei, legen Sie sie (oder eine Verknüpfung) auf Ihrem Desktop oder wo auch immer, und dann haben Sie einen Ein-Klick "stellen Sie eine Verbindung zum VPN her und öffnen Sie die App" Remote Desktop".

Wenn andererseits Ihr VPN-Client so ist, dass Sie keine Verbindung über die Befehlszeile herstellen können, würde ich in AutoIt oder andere Maus/Tastatur-Makro-Skriptsprachen nachsehen, ob Sie die VPN-Verbindung automatisieren können.

 1
Author: Zac B,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-05-23 12:41:50

Ich konnte @Gechurchs Antwort unter Windows 10 verwenden, indem ich rasdial in rasphone wie folgt änderte:

@echo off

:: Connecting to VPN...
rasphone.exe -d "My VPN"

echo Running RDP...
"Remote Server.rdp"

echo Finished - disconnecting from VPN...
rasphone.exe -h "My VPN"
 1
Author: Glenn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-07-28 20:08:33