Automatycznie połącz się z VPN podczas inicjowania połączenia RDP Remote Desktop, a następnie odłącz VPN po zakończeniu

5

Wiem, że mogę utworzyć plik wsadowy, aby zainicjować połączenie VPN, a następnie sesję RDP, ale chcę wiedzieć, czy jest możliwe (w Windows 7 i najlepiej Windows XP) powiązanie połączenia VPN ze statusem sesji RDP.

Scenariusz: użytkownik musi najpierw połączyć się z siecią VPN, aby móc korzystać z protokołu RDP. Idealnie użytkownik kliknąłby jedną ikonę (plik wsadowy?), Aby zainicjować połączenie VPN i załadować sesję RDP. Kiedy zamykają sesję RDP, chcę, aby VPN automatycznie się rozłączył, aby nie przypadkowo kierowali kolejnego przeglądania poza RDP + aktywność w Internecie przez VPN.

Josh Newman
źródło
Czy kontrolujesz VPN?
James Mertz
Nie, ale może zażądać zmian, jeśli to konieczne. Dlaczego?
Josh Newman
W zależności od konfiguracji VPN ruch może nie być kierowany przez tunel, chyba że dotyczy określonych zasobów w tej sieci wirtualnej. Ostatecznie, niezależnie od konfiguracji, użytkownik będzie musiał wziąć na siebie odpowiedzialność za wyłączenie tunelu.
James Mertz
Ok dzięki - rozłączenie było kluczową częścią. Spojrzę więc na routing tylko ruchu RDP przez VPN na wypadek, gdyby pozostawili go podłączonego. Najwyraźniej jeśli odznaczę opcję „Użyj domyślnej bramy w sieci zdalnej” w ustawieniach TCP / IP dla VPN, powinno to zrobić.
Josh Newman

Odpowiedzi:

5

Zdaję sobie sprawę, że to pytanie jest bardzo stare, ale pomyślałem, że dodam metodę dla każdego, kto się na nią natknie.

@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 jest wbudowany w Windows i służy do łączenia i rozłączania. Zamień „Nazwa VPN” na dowolną nazwę połączenia VPN podczas konfiguracji. Zastąp „user” i „pass” w pierwszym wierszu rzeczywistą nazwą użytkownika i hasłem, aby połączyć się z VPN (nawet jeśli zdecydowałeś się zapisać poświadczenia podczas tworzenia VPN, Rasdial wymaga ich wprowadzenia).

Ponieważ skrypty wsadowe są uruchamiane synchronicznie, rasdial zakończy połączenie z VPN przed otwarciem pliku RDP, a przez cały czas sesji RDP będzie otwarty skrypt wsadowy. Gdy tylko sesja RDP zostanie zamknięta, uruchomione zostanie ostatnie polecenie odłączenia sieci VPN. Prosty!

Zazwyczaj umieszczam skrót do skryptu wsadowego na pulpicie i zmieniam jego ikonę na normalną RDP (z C: \ Windows \ System32 \ mstsc.exe). Możesz wybrać uruchomienie skryptu zminimalizowanego, jeśli nie chcesz, aby użytkownik widział okno cmd, ale chcę, aby było widoczne, aby mogli zobaczyć, czy występują jakieś błędy podczas łączenia z VPN.

Gechurch
źródło
1

Jeśli masz samodzielny program kliencki VPN (np. Cisco AnyConnect), użyj Google, aby znaleźć opcje wiersza polecenia dla tego produktu i sprawdzić, czy możesz połączyć się za pomocą jednego polecenia. Na przykład: Anyconnect The generic klient Cisco , a klient Windows VPN wszystko to wspierać. Może to jednak wymagać zapisania hasła w postaci zwykłego tekstu w pliku wsadowym lub skrypcie.

Po uzyskaniu tych informacji napisz plik wsadowy, który wywołuje klienta VPN, prawdopodobnie śpi kilka sekund, aby upewnić się, że połączenie VPN jest dobre, a następnie wywołuje klienta pulpitu zdalnego z wiersza polecenia .

Jeśli chcesz być naprawdę fantazyjny, zamiast uśpienia w celu zweryfikowania łączności, możesz użyć polecenia ping do jakiegoś zasobu, który jest dostępny tylko przez VPN, i skrypt może zwrócić błąd, jeśli ping nie powiedzie się.

Weź plik wsadowy, umieść go (lub skrót) na pulpicie lub w dowolnym miejscu, a następnie masz jedno kliknięcie „połącz z VPN, a następnie otwórz aplikację Pulpit zdalny”.

Jeśli, z drugiej strony, jeśli twój klient VPN jest taki, że nie możesz połączyć się za pomocą wiersza poleceń, zajrzałbym do AutoIT lub innych języków skryptów makr / myszy, aby sprawdzić, czy możesz zautomatyzować połączenie VPN.

Zac B
źródło
0

I był w stanie wykorzystać @ odpowiedź Gechurch użytkownika w systemie Windows 10, zmieniając rasdialsię rasphonew następujący sposób:

@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"
Glenn
źródło