J'ai une connexion wifi qui nécessite une authentification à l'aide d'un formulaire Web une fois que la liaison sans fil est établie. Je sais comment automatiser l'authentification avec un script qui utilise curl
/ curlI .
Mais comment puis-je demander à Windows d'appeler mon script chaque fois que je me connecte à une connexion réseau particulière?
Je souhaiterais également recevoir le nom du profil sans fil ou l'ESSID sur la ligne de commande de mon script.
Dans Windows Vista et les versions ultérieures, vous pouvez utiliser une tâche planifiée avec un déclencheur de journal des événements. Le premier événement sera déclenché par la connexion au réseau et vous indiquerez le réseau auquel vous devez être connecté pour pouvoir être exécuté. Le deuxième événement sera déclenché lors de la déconnexion d'un réseau. Chaque événement exécutera une tâche spécifique que vous spécifiez. les scripts que vous avez mentionnés ont probablement été écrits.
Task Scheduler
dans la zone de recherche du menu Démarrer ou sous Programs | Accessories | System Tools
.Dans la bibliothèque du Planificateur de tâches, créez une nouvelle tâche en cliquant sur Create Task
dans le panneau Actions situé à droite.
Attribuez à la tâche un nom du type "détecter le réseau" ou ce que vous choisissez
Dans l'onglet Triggers
, cliquez sur New...
et sélectionnez On an Event
dans la liste déroulante.
Choisissez les paramètres suivants:
Microsoft-Windows-NetworkProfile/Operational
NetworkProfile
10000
Conditions
.Start only if the following network connection is available
et choisissez le réseau avec lequel vous voulez exécuter le scriptActions
, cliquez sur New...
et sélectionnez Start a program
. Entrez l'emplacement du fichier de script que vous souhaitez exécuter, puis cliquez sur OK
.OK
.Microsoft-Windows-NetworkProfile/Operational
NetworkProfile
10001
Il semble que Start only if the following network connection is available
soit cassé après la mise à jour anniversaire de Windows 10. Utilisez plutôt ce déclencheur personnalisé:
<QueryList>
<Query Id="0" Path="System">
<Select Path="Microsoft-Windows-NetworkProfile/Operational">
*[System[(EventID=10000)]] and *[EventData[(Data[@Name="Name"]="YOUR-SSID-HERE")]]
</Select>
</Query>
</QueryList>
Dans les réseaux d'entreprise, utilisez le nom du domaine au lieu du SSID. Dans ce cas, la catégorie de l'événement sera "Domain Authenticated" et non "Private".
Si vous utilisez un Thinkpad, vous pouvez tirer parti de ThinkVantage Access Connection, disponible pour Windows 7, Vista et XP.
ThinkVantage Access Connection est le logiciel de gestion de connexion réseau fourni avec ThinkPad. Si ce n'est pas le cas, il peut être téléchargé à partir de son site de support. Lorsque vous créez un nouveau profil pour votre emplacement, un assistant vous demande si vous souhaitez configurer une liste de programmes à démarrer lorsque cet emplacement est connecté . . Il propose également de supprimer le programme lorsque le réseau est désactivé.
Notez que le logiciel peut être configuré pour fonctionner sans aucun profil d'emplacement, ce qui est peut-être le statut initial. Dans ce cas, il n'y a aucun moyen de configurer une liste de programmes à démarrer lorsque le wifi est connecté: vous devez créer une connexion. profil pour contenir la liste.
Pour ma propre expérience, j’essaie d’éviter d’utiliser le logiciel - il faut beaucoup plus de temps pour se connecter que sans, et parfois, l’établissement d’une nouvelle connexion lors du démarrage (peut être corrigé manuellement).
Le logiciel ne fonctionne qu'avec le pilote WIFI fourni avec le thinkpad.
Par ailleurs, ce logiciel propose d’établir une connexion avant que l’utilisateur ne se connecte, en option lors de la création du profil. Je ne sais pas si c'est possible sans ça.