Mam połączenie Wi-Fi, które wymaga uwierzytelnienia przy użyciu formularza internetowego po ustanowieniu łącza bezprzewodowego. Wiem, jak zautomatyzować uwierzytelnianie za pomocą skryptu używającego curl
/ curlIE .
Ale jak mogę poprosić system Windows, aby wywoływał mój skrypt za każdym razem, gdy łączę się z określonym połączeniem sieciowym?
Byłbym również zainteresowany otrzymaniem nazwy profilu bezprzewodowego lub ESSID w wierszu polecenia mojego skryptu.
Odpowiedzi:
W systemie Windows Vista i nowszych można to zrobić przy użyciu zaplanowanego zadania z wyzwalaczem dziennika zdarzeń. Pierwsze zdarzenie zostanie wyzwolone przez połączenie z siecią, a Ty określisz, do której sieci musisz się podłączyć, aby mogła działać. Drugie zdarzenie zostanie uruchomione po odłączeniu od dowolnej sieci. Każde zdarzenie uruchomi określone zadanie; prawdopodobnie napisane przez ciebie skrypty.
Ustawienie zdarzenia podczas łączenia się z siecią:
Task Scheduler
w polu wyszukiwania menu Start lub podPrograms | Accessories | System Tools
.W bibliotece Harmonogramu zadań utwórz nowe zadanie, klikając
Create Task
panel Operacje po prawej stronie.Nadaj temu zadaniu nazwę „wykrywaj połączenie sieciowe” lub cokolwiek innego
Na
Triggers
karcie kliknijNew...
i wybierzOn an Event
z menu rozwijanego.Wybierz następujące ustawienia:
Microsoft-Windows-NetworkProfile/Operational
NetworkProfile
10000
Conditions
zakładki.Start only if the following network connection is available
i wybierz sieć, z którą chcesz uruchomić skryptActions
karcie kliknijNew...
i wybierzStart a program
. Wprowadź lokalizację pliku skryptu, który chcesz uruchomić, a następnie kliknijOK
.OK
.Ustawienie zdarzenia po rozłączeniu z siecią:
Microsoft-Windows-NetworkProfile/Operational
NetworkProfile
10001
źródło
Microsoft-Windows-NetworkProfile
Wygląda na
Start only if the following network connection is available
to, że jest zepsuty po rocznicowej aktualizacji systemu Windows 10. Zamiast tego użyj tego niestandardowego wyzwalacza:W sieciach korporacyjnych używaj nazwy domeny zamiast SSID. W takim przypadku kategorią wydarzenia będzie „Uwierzytelniony w domenie”, a nie „Prywatny”.
źródło
Start only if the following network connection is available
wydaje się rzeczywiście zepsuty. Jeżeli ustawić tę opcję i uruchomić zadanie na żądanie dostaję ten błąd:Task Scheduler Service is not available. Task scheduler will attempt to reconnect to it
.Jeśli używasz Thinkpada, możesz skorzystać z ThinkVantage Access Connection, dostępnego dla systemów Windows 7, Vista i XP.
ThinkVantage Access Connection to oprogramowanie do zarządzania połączeniami sieciowymi dostarczane z ThinkPad - jeśli nie, można je pobrać ze strony pomocy technicznej. Kiedy tworzysz nowy profil dla swojej lokalizacji, pojawia się kreator, który pyta, czy chcesz skonfigurować listę programów, aby uruchamiał się po połączeniu tej lokalizacji . Oferuje zabicie programu, gdy sieć jest niedostępna.
Należy pamiętać, że oprogramowanie można skonfigurować tak, aby działało bez żadnego profilu lokalizacji, i może to jest stan początkowy - w takim przypadku nie ma możliwości skonfigurowania listy programów, która ma się uruchamiać po podłączeniu Wi-Fi: musisz utworzyć połączenie profil zawierający listę.
Z własnego doświadczenia staram się unikać korzystania z oprogramowania - połączenie zajmuje dużo więcej czasu niż bez niego, a czasem nie udaje się nawiązać nowego połączenia podczas uruchamiania (można to naprawić przez ręczne ponowne połączenie).
Oprogramowanie działa tylko ze sterownikiem WIFI dostarczonym z thinkpad.
Na marginesie, to oprogramowanie oferuje ustanowienie połączenia przed zalogowaniem się użytkownika, jako opcja podczas tworzenia profilu. Nie wiem, czy jest to możliwe bez tego.
źródło