AutoRedial dla połączeń VPN Windows 8/2008/10/2012

Zaskakujące, choć niewielkie, stwierdziłem, że w systemie Windows, począwszy od wersji 8 i Windows Server, począwszy od 2008 r., Microsoft nieznacznie „wypełnił” okno dialogowe ustawień połączenia VPN. Dokładniej, zmniejszam ustawienia na karcie Opcje. Zamiast tego, co było znane w Windows 7 i wyglądało:

Teraz prawie wszystko zostało usunięte i pozostało tylko:

Pojawiło się uzasadnione pytanie - jak teraz skonfigurować automatyczne ponowne połączenie i liczbę prób ponownego nawiązania połączenia, jeśli połączenie zostanie przerwane?

Istnieje kilka metod. Chodźmy w porządku. W miarę wzrostu złożoności, że tak powiem.

Metoda 1 - użyj Notatnika:

Ustaw niezbędne parametry ręcznie. Aby to zrobić, przejdź do folderu

C: \ Users \[USER]\ AppData \ Roaming \ Microsoft \ Network \ Connections \ Pbk \

Znajdź (najprawdopodobniej jedyny) plik o nazwie rasphone.pbk. To jest zwykły plik tekstowy zawierający ustawienia połączenia VPN.

Plik można otworzyć za pomocą notatnika.exe (Notatnik)

Ogólnie rzecz biorąc, musisz znaleźć sekcję zawierającą swoją sieć VPN - na przykład taką [PPTP-VPN]

I znajdź w nim linie (TADA!) / Jeśli niczego nie zmieniłeś, będzie wyglądać mniej więcej tak:

RedialAttempts = 3
RedialSeconds = 60
IdleDisconnectSeconds = 0
RedialOnLinkFailure = 1

To znowu „Microsoft pomyślał za ciebie i zdecydował o wszystkim”.

Ale teraz wiesz, gdzie szukać i zmieniać niezbędne parametry.

  • Redialatttts= 3 - liczba prób ponownego połączenia (maksymalnie 99)
  • Ponowne wybieranie sekund= 60 - liczba sekund między próbami ponownego połączenia
  • IdleDisconnectSeconds= 0 - ile czekać, aby zrozumieć, że linia została odcięta (0 - nie czekaj wcale)
  • RedialOnLinkFailure= 1 - Spróbuj ponownie, jeśli połączenie zostanie rozłączone? 1 - tak, 0 - nie

Aby zastosować parametry, musisz, jak poprzednio, ponownie połączyć VPN.

A potem uwierz, że Microsoft Windows zrobi wszystko za Ciebie 🙂

Uwaga: Zauważono, że system Windows Server 2012 może z własnej inicjatywy użyć folderu C: \ Users \ [USER] \ AppData \ Roaming \ Microsoft \ Network \ Connections \ Pbk \ _hiddenPbk i umieścić plik rasphone.pbk w tym folderze.

Metoda 2 - skonfiguruj najprostsze zadanie:

Utwórz zadanie w Harmonogramie zadań, które uruchomi plik nietoperza z ciągiem połączenia z wymaganą siecią VPN i skonfiguruj to zadanie, aby uruchamiało się, powiedzmy, co 5 minut.

Przypomnę, że wiersz komend do połączenia połączenia VPN wygląda następująco

C: \ windows \ system32 \ rasdial.EXE nazwa wpisu [nazwa użytkownika [hasło | *]] [/ DOMAIN: domain]

Nadal istnieją parametry, ale jeśli jesteś zainteresowany, przekonaj się sam..

W zadaniu nie zapomnij zaznaczyć, że „zawsze uruchamiaj”

Określ plik wykonywalny, na przykład taki

Lub powiedz, że chcesz biec rasdial.exe (Hasło użytkownika VPN to nazwa nazwy użytkownika połączenia VPN i twoje hasło)

Uwaga. Jak korzystać z narzędzia rasdial, które pokazaliśmy już w artykule Automatyczne uruchamianie połączeń VPN

Uruchom co 5 minut każdego dnia.

Metoda 3. Skonfiguruj zadanie „z niespodziankami”:)

  1. Utwórz zadanie w Harmonogramie zadań
  2. W zadaniu definiujemy dwa wyzwalacze. Jeden za pomocą żądania XML (podobny do artykułu Uruchamianie zadania harmonogramu po zakończeniu określonego zadania)
  * [System [Provider [@ Name = 'RasClient']] i (EventID = 20226)]] i * [EventData [Data [4] = '829' lub '629']]   
Uwaga. Kody: 829 - Zdalne rozłączenie, 629 -Klient się rozłącza

Drugi oparty jest na śledzeniu zdarzeń w Dzienniku zdarzeń:

  • Nazwa dziennika: Microsoft-Windows-NetworkProfile / Operational
  • Źródło: NetworkProfile
  • Identyfikator zdarzenia: 10000
  • Jako uruchomiony program wybierz rasdial.exe z parametrami vpn-name nazwa użytkownika hasło
  • Ponadto na karcie Warunki możesz zastąpić następujące parametry

Uwaga: Aby upewnić się, że to zadanie działa lub nie, utwórz kolejny wyzwalacz o identyfikatorze zdarzenia = 10001. To zdarzenie pojawia się, gdy sieć VPN zostanie ręcznie wyłączona (disconnet). Następnie spróbuj ręcznie wyłączyć VPN. Połączenie zostanie natychmiast przywrócone.

Cóż, to wszystko.

Uwaga Wszystko opisane działa w systemie Windows 7

Ponadto pod spoilerem podam bez tłumaczenia długi, szczegółowy i żmudny opis metody 1 i 3 w języku angielskim, zaczerpnięty z forum Technet.

Miałem ten problem przez kilka tygodni, ale w końcu miałem szansę spędzić trochę czasu zeszłej nocy. Przeszedłem przez ten wątek ... Domyślam się, że dzięki Microsoftowi nawiązującemu połączenie VPN typu RT, przegapili część okna dialogowego lub ułożyli to w ten sposób dla tabletów RT z myślą, że nie chcesz, aby VPN ponownie się łączył i zużywał dane / bateria. Oczywiście nie udało im się utrzymać go na komputerach stacjonarnych ...

W każdym razie miałem nadzieję, że informacje w oknach dialogowych zostały pominięte przez rzeczywisty kod, jak to bywa niekiedy. Wyglądało obiecująco, gdy sprawdziłem konfigurację VPN i znalazłem ustawienia wygenerowane w połączeniu z Windows 8. Niestety, chociaż ustawienia ponownego wybierania są włączone, funkcja ponownego wybierania nie działa. Próbowałem nawiązać połączenie VPN z rasdialem, ale wciąż nie miałem szczęścia. Właśnie przyszło mi do głowy, kiedy piszę ten e-mail, że mogę spróbować zmienić nazwę rasdial.pbk i załadować go komentarzem Rasdial, aby ustanowić połączenie VPN, być może użyje ustawień. Spróbuje później.

C: \ Users \ Joe \ AppData \ Roaming \ Microsoft \ Network \ Connections \ Pbk \ rasphone.pbk faktycznie ma włączone ustawienia ponownego wybierania ...

RedialAttempts = 3
RedialSeconds = 60
IdleDisconnectSeconds = 0
RedialOnLinkFailure = 1 (w Windows 7 jest ustawione na jeden po włączeniu pola wyboru Ponowne wybieranie)

Jeśli ktoś jest zainteresowany, wymyślił dość dobre obejście ostatniej nocy, dopóki MS nie wyda aktualizacji, aby przywrócić ustawienia. Bardziej podoba mi się to rozwiązanie niż uruchomienie rozwiązania innej firmy, aby spróbować utrzymać VPN. Możesz skonfigurować zadanie Harmonogramu zadań, aby uruchamiało się po rozłączeniu. Próbowałem wczoraj wieczorem i VPN natychmiast się ponownie połączył. Sprawdzam kody błędów rozłączania klienta / zdalnego z wyjątkiem kodu „rozłączenia użytkownika”, aby uniknąć ponownego połączenia, gdy rzeczywiście chcesz się rozłączyć. To tylko dwa kody błędów, które zauważyłem w dzienniku zdarzeń, MS wymienia o wiele więcej kodów błędów, ale nie widziałem ich przy rozłączeniach, chociaż można je dodać. Jeśli ktoś tego używa i uważa, że ​​należy dodać więcej kodów, zaktualizuj zapytanie xml lub daj mi znać, a ja go zaktualizuję. Wybacz zapytanie XML, a nie coś, co zwykle robię, jeśli można go lepiej sformatować, daj mi znać ... do nauki 😉

Oto lista niektórych kodów błędów (nie jest to kompletne dla Win8, ale nie spędziłem dużo czasu na wyszukiwaniu)

Jak skonfigurować Zaplanowane Zadanie do Wyzwalania na Rozłączeniu VPN

  1. Kliknij Windows8 Start i wpisz Zaplanuj zadanie (otwórz je w Ustawieniach)
  2. Kliknij Utwórz zadanie
  3. Zastosuj następujące ustawienia w określonych zakładkach (kursywa opisuje każde ustawienie)

Karta Ogólne

Nazwa: Ponowne wybieranie VPN
Do celów opisowych możesz użyć dowolnej nazwy, takiej jak Redial VPN VPN mojej firmy ... cokolwiek ...

Wybierz: Uruchom, czy użytkownik jest zalogowany, czy nie
Pod warunkiem, że masz hasło powiązane z kontem logowania, ta opcja zapobiegnie otwarciu okna dos za każdym razem, gdy zadanie zostanie uruchomione. Jeśli nie masz hasła, zostaw je i zobacz uwagi poniżej tych kroków.
Karta wyzwalania

Kliknij przycisk Nowy
Aby utworzyć nowy wyzwalacz, użyjemy go do aktywacji zadania po rozłączeniu połączenia VPN

Rozpocznij zadanie: na zdarzeniu
Zadanie zostanie uruchomione przez wpis dziennika zdarzeń aplikacji

Wybierz: niestandardowy
Niestandardowe daje nam elastyczność tworzenia bardziej szczegółowych zapytań

Kliknij przycisk Nowy filtr zdarzeń ...
Tutaj budujemy zapytanie dla wyzwalacza

Kliknij kartę XML
Ta zakładka pozwala nam napisać własne zapytanie (jeszcze bardziej elastyczne)

Zaznacz opcję Edytuj zapytanie ręcznie
Aby rozpocząć edycję ręczną

Skopiuj następujące zapytanie
To zapytanie zostanie uruchomione w przypadku zdarzenia aplikacji dla RasClient o identyfikatorze zdarzenia 20226 i kodach błędów 829 (Remote Disconnect), 629 (Client Disconnect). Kopiuj zi do



* [System [Provider [@ Name = 'RasClient']] i (EventID = 20226)]] i * [EventData [Data [4] = '829' lub '629']]

Kliknij OK

Upewnij się, że opcja Enabled jest zaznaczona
Zaznacz, jeśli nie jest zaznaczone, aby upewnić się, że zadanie zostanie włączone

Kliknij ok

Zakładka Działania

Kliknij nowy
Aby utworzyć akcję, która zostanie wykonana po uruchomieniu zadania

Działanie: Uruchom program
Wybór tej opcji pozwoli nam rozpocząć rasdial w celu przywrócenia połączenia VPN

Program / skrypt: rasdial
Powinny już być na ścieżce, więc po prostu wpisz polecenie rasdial

Dodaj argumenty (opcjonalnie): hasło nazwy użytkownika „Nazwa VPN”
Nazwa VPN to nazwa zdefiniowana dla połączenia telefonicznego. Przykład: po kliknięciu ikony sieci w zasobniku systemowym, nazwy wymienionej dla Twojej sieci VPN, upewnij się, że wpisałeś ją dokładnie tak, jak pokazano. Po połączeniu będzie twoja nazwa użytkownika i hasło. Przykład: hasło użytkownika „MY VPN Connection”

Kliknij ok

Karta Warunki (nie jest wymagana, chyba że używasz laptopa)

Ustawienia TAB

Włącz: jeśli zadanie się nie powiedzie, restartuj co 1 minutę
W przypadku tymczasowego problemu z ponownym ustanowieniem połączenia VPN. Możesz podać dowolną wartość zamiast 1 minuty

Spróbuj uruchomić ponownie do: 7 razy
Ponownie w przypadku tymczasowego problemu z ponownym ustanowieniem połączenia VPN. Możesz określić dowolną wartość zamiast 7 razy

Kliknij ok
Notatki

  1. Tak naprawdę nie testowałem zbyt wiele, ale skonfigurowałem go wczoraj wieczorem, obudziłem się rano, aby znaleźć dziennik zdarzeń pokazujący 4 rozłączenia, a zadanie zostało ponownie wybrane wszystkie 4 razy, połączenie VPN było nadal aktywne.
  2. W zakładce Ogólne włączyliśmy „Uruchom bez względu na to, czy użytkownik jest zalogowany. To nie jest problem, ponieważ nie będzie połączenia VPN, gdy nie będziesz zalogowany. To, co robi ta opcja, ponieważ uruchamiamy polecenie dos (rasdial), zapobiega otwieraniu okna dos za każdym razem, gdy zadanie jest uruchamiane, więc nie będziesz rozpraszany, jeśli coś jest w środku. Ta opcja działa tylko wtedy, gdy masz hasło (które powinieneś) powiązane ze swoim kontem. Jeśli nie zezwolisz i po prostu uruchomisz komputer na pulpicie, opcja nie będzie działać. To, co zrobiłem dla ludzi w takich sytuacjach, to małe opakowanie VBScript do uruchomienia polecenia dos, aby uniknąć monitu dos. Naprawdę nie jest to problem, chyba że jesteś analistą jak ja, możesz po prostu poradzić sobie z otwarciem okna Dos.
  3. Ponownie zapytanie sprawdza dziennik zdarzeń w poszukiwaniu nowego wpisu dla RasClient o identyfikatorze zdarzenia 20226 zawierającym kody błędów 820 lub 620. Można dodać dodatkowe kody błędów, powtarzając wzorzec. Przykład wyzwolenia także na 222 i 333 zmodyfikujesz odpowiednią część linii jako taką * [EventData [Data [4] = „829” lub „629” lub „222” lub „333”]]

    .