Ich habe eine WLAN-Verbindung, die eine Authentifizierung über ein Webformular erfordert, sobald die drahtlose Verbindung hergestellt ist. Ich kann die Authentifizierung mit einem Skript automatisieren, das curl
/ curlIE verwendet.
Aber wie kann ich Windows auffordern, mein Skript jedes Mal aufzurufen, wenn ich eine Verbindung zu einer bestimmten Netzwerkverbindung herstelle?
Ich wäre auch daran interessiert, den Namen des WLAN-Profils oder der ESSID in der Befehlszeile meines Skripts zu erhalten.
In Windows Vista und höher können Sie dies mithilfe einer geplanten Aufgabe mit einem Ereignisprotokoll-Trigger ausführen. Das erste Ereignis wird ausgelöst, wenn eine Verbindung zum Netzwerk hergestellt wird, und Sie geben an, mit welchem Netzwerk Sie verbunden sein müssen, damit es ausgeführt werden kann. Das zweite Ereignis wird ausgelöst, wenn die Verbindung zu einem Netzwerk getrennt wird. Jedes Ereignis führt eine bestimmte Aufgabe aus, die Sie angeben. wahrscheinlich die Skripte, die Sie erwähnt haben geschrieben.
Task Scheduler
in das Suchfeld des Startmenüs oder unter Programs | Accessories | System Tools
eingeben.Erstellen Sie in der Taskplaner-Bibliothek eine neue Aufgabe, indem Sie im Bedienfeld Aktionen auf der rechten Seite auf Create Task
klicken.
Geben Sie der Aufgabe einen Namen wie "Netzwerkverbindung erkennen" oder was auch immer Sie wählen
Klicken Sie auf der Registerkarte Triggers
auf New...
und wählen Sie On an Event
aus dem Dropdown-Feld aus.
Wählen Sie die folgenden Einstellungen:
Microsoft-Windows-NetworkProfile/Operational
NetworkProfile
10000
Conditions
.Start only if the following network connection is available
und wählen Sie das Netzwerk aus, mit dem Sie das Skript ausführen möchtenActions
auf New...
und wählen Sie Start a program
aus. Geben Sie den Speicherort der Skriptdatei ein, die Sie ausführen möchten, und klicken Sie dann auf OK
.OK
.Microsoft-Windows-NetworkProfile/Operational
NetworkProfile
10001
Es scheint, dass Start only if the following network connection is available
nach dem Windows 10-Jubiläums-Update kaputt ist. Verwenden Sie stattdessen diesen benutzerdefinierten Auslöser:
<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>
Verwenden Sie in Unternehmensnetzwerken den Namen der Domäne anstelle der SSID. In diesem Fall lautet die Kategorie des Ereignisses "Domain Authenticated" und nicht "Private".
Wenn Sie zufällig ein Thinkpad verwenden, können Sie die ThinkVantage Access Connection nutzen, die für Windows 7, Vista und XP verfügbar ist.
ThinkVantage Access Connection ist die mit ThinkPad gelieferte Netzwerkverbindungs-Manager-Software. Wenn nicht, können Sie sie von der Support-Website herunterladen. Wenn Sie ein neues Profil für Ihren Standort erstellen, werden Sie von einem Assistenten gefragt, ob Sie eine Programmliste konfigurieren möchten, die gestartet werden soll, wenn dieser Standort verbunden ist . Es bietet sich an, das Programm auch zu beenden, wenn das Netz nicht verfügbar ist.
Beachten Sie, dass die Software so konfiguriert werden kann, dass sie ohne Standortprofil funktioniert. Dies ist möglicherweise der ursprüngliche Status. In diesem Fall können Sie keine Programmliste konfigurieren, die beim Herstellen einer Verbindung zum WLAN gestartet werden soll Profil, um die Liste zu enthalten.
Aus eigener Erfahrung versuche ich, die Verwendung der Software zu vermeiden - das Herstellen einer Verbindung dauert viel länger als ohne sie. Manchmal kann beim Booten keine neue Verbindung hergestellt werden (dies kann durch manuelles erneutes Verbinden behoben werden).
Die Software funktioniert nur mit dem WIFI-Treiber, der mit dem Thinkpad geliefert wird.
Nebenbei bemerkt, diese Software bietet die Möglichkeit, eine Verbindung herzustellen, bevor sich der Benutzer anmeldet, als Option, wenn Sie das Profil erstellen. Ich weiß nicht, ob das ohne geht.