Ausführen eines Programms beim Herstellen einer Verbindung zu einem bestimmten Netzwerk in Windows 7

19

Ich möchte, dass jedes Mal, wenn ich zu Hause eine Verbindung zu meinem drahtlosen Netzwerk herstelle, eine ausführbare Datei ausgeführt wird. Der Zweck ist, einen Ordner auf meinem Laptop mit meinem Desktop-Computer zu synchronisieren.

Gibt es eine Möglichkeit, ein Programm oder ein Skript auszuführen, wenn Sie sich einem drahtlosen Netzwerk anschließen?

Ich verwende Windows 7 und würde gerne ein Programm verwenden, das diese Art von Aufgabe übernimmt.

Lucas Wilson-Richter
quelle

Antworten:

16

Ich hatte genau diese Frage und Darrens Antwort war auf dem richtigen Weg, brachte mich aber nicht ganz hin. Folgendes habe ich letztendlich getan.

Bestimmen Sie zunächst, welches Ereignis Sie zum Auslösen der Aufgabe verwenden möchten. Führen Sie die Ereignisanzeige aus und navigieren Sie zu: Applications and Services Logs > Microsoft > Windows > WLAN-AutoConfig > Operational

In meinem Fall wollte ich nicht, dass meine Aufgabe ausgeführt wird, bis ich tatsächlich mit einem bestimmten WiFi-Netzwerk verbunden war 8001. Daher war die von mir benötigte Ereignis-ID . Die schnelle Möglichkeit, eine Aufgabe basierend auf diesem Ereignis zu erstellen, besteht darin, mit der rechten Maustaste auf das Ereignis zu klicken und "Aufgabe an dieses Ereignis anhängen ..." auszuwählen.

Hier ist ein Screenshot

Benennen Sie Ihre Aufgabe im folgenden Fenster mit einem cleveren Namen und fügen Sie eine Beschreibung hinzu, damit Sie sich später daran erinnern können, was es ist. Gehen Sie den Assistenten durch, wählen Sie das Programm aus, das Sie ausführen möchten usw., und aktivieren Sie das Kontrollkästchen "Öffnen Sie das Dialogfeld" Eigenschaften "für diese Aufgabe, wenn Sie auf" Fertig stellen "klicken.

Zu diesem Zeitpunkt wird die Task ausgeführt, wenn der Computer eine erfolgreiche Verbindung zu einem drahtlosen Netzwerk hergestellt hat. Um es auf ein bestimmtes Netzwerk zu beschränken, müssen Sie die Aufgabe so ändern, dass nach etwas Einzigartigem in den Metadaten gefiltert wird, z. B. der SSID des Netzwerks. Wechseln Sie im Eigenschaftendialog für die neue Aufgabe zur Registerkarte Auslöser, und bearbeiten Sie den Auslöser.

Notieren Sie sich nun die Werte für den Basic-Trigger. Sie wechseln zu einem benutzerdefinierten Trigger. Wenn Sie dies tun, wird dieser leer und Sie müssen die Werte erneut eingeben. Nachdem Sie auf "Neuer Ereignisfilter ..." geklickt haben, erstellen Sie den Basisfilter neu, indem Sie das erforderliche Ereignisprotokoll und die Ereignisquelle auswählen und die Ereignis-ID eingeben.

Beachten Sie, dass es keinen Ort gibt, an dem Metadaten eines bestimmten Ereignisses (z. B. die SSID des drahtlosen Netzwerks) angegeben werden können. Sie müssen das unformatierte XML bearbeiten, um dies zu ermöglichen, wie ich in diesem Artikel festgestellt habe .

Um herauszufinden, welche Metadaten Sie im Ereignisprotokoll filtern müssen, kehren Sie zur Ereignisanzeige zurück und klicken Sie auf die Registerkarte Details für das Ereignis. Wechseln Sie in die XML-Ansicht. In diesem speziellen Fall sieht das relevante Bit ungefähr so ​​aus:

<EventData>
  ...
  <Data Name="SSID">Your WiFi Network</Data>
  ...
</EventData>

Wechseln Sie im Dialogfeld "Neuer Ereignisfilter" zur Registerkarte "XML" und aktivieren Sie das Kontrollkästchen neben "Abfrage manuell bearbeiten".

Wenn Sie auf den oben verlinkten Artikel zurückgreifen, werden Sie feststellen, dass die Zeichenfolge, die Sie hinzufügen müssen, ungefähr so ​​aussieht:

and *[EventData[Data[@Name='SSID']='Your WiFi Network']]

Fügen Sie dies direkt vor dem ein </Select>

Boom. Sie sind fertig.


Nur ein Hinweis, der dies möglicherweise einfacher macht, anstatt das XML für den Auslöser zu bearbeiten, können Sie zur Registerkarte Bedingungen wechseln, wenn Sie die Eigenschaften für die Aufgabe aufrufen. Hier gibt es die Option "Nur starten, wenn die folgende Netzwerkverbindung verfügbar ist:" und eine Dropdown-Liste der Netzwerke, mit denen Sie zuvor eine Verbindung hergestellt haben. Ich vermute, dass dies den Auslöser auch angemessen filtern würde. Justin

Corey McKrill
quelle
Unter Windows 7 gelang es mir nicht, den Auslöser mit dem Dropdown-Menü "Nur starten, wenn [..]" ordnungsgemäß zu aktivieren, sondern mit dem benutzerdefinierten Auslöser und dem von Ihnen erwähnten XML-Code. Bei Verwendung des Dropdown-Menüs (das nicht die von mir benötigte SSID zeigte) habe ich aufgrund dieser Bedingung immer angehalten.
Joweiser
"Die Netzwerkverbindung ist verfügbar" bedeutet nicht, dass der Client gemäß der OP-Anforderung eine Verbindung zu einer bestimmten Netzwerkverbindung herstellt oder mit dieser verbunden ist.
Gaia
6

Sie können hierfür Windows 7 Task Scheduler verwenden.

Beginnen Sie auf der Registerkarte Auslöser die Aufgabe On an event

Ich starte Windows 7 nicht auf einem Laptop, aber ich glaube, dass die Ereignis-ID in Microsoft-Windows-WLAN-AutoConfig zu finden ist.

Klicken Sie auf der Registerkarte Bedingungen auf Start Only if the following network connection is availableund geben Sie das gewünschte Drahtlosnetzwerk an.

Rufen Sie dann das Programm unter Aktionen auf.

Darren Hall
quelle
"Die Netzwerkverbindung ist verfügbar" bedeutet nicht, dass der Client gemäß der OP-Anforderung eine Verbindung zu einer bestimmten Netzwerkverbindung herstellt oder mit dieser verbunden ist.
Gaia