Come eseguire un programma durante la connessione a una rete specifica in Windows 7


19

Voglio eseguire un eseguibile ogni volta che mi collego alla mia rete wireless a casa. Lo scopo è sincronizzare una cartella sul mio laptop con la mia macchina desktop.

Esiste un modo per eseguire un programma o uno script quando si accede a una rete wireless?

Sto eseguendo Windows 7 e sarei anche felice di utilizzare un programma che si occupa di questo tipo di attività.

Risposte:


16

Avevo questa domanda esatta e la risposta di Darren era sulla buona strada, ma non mi ha portato fino in fondo. Ecco cosa ho finito per fare.

Innanzitutto determinare quale evento si desidera utilizzare per attivare l'attività. Esegui il programma Visualizzatore eventi e vai a: Applications and Services Logs > Microsoft > Windows > WLAN-AutoConfig > Operational

Nel mio caso, non volevo che il mio compito fosse eseguito fino a quando non ero effettivamente connesso a una specifica rete WiFi, quindi l'ID evento di cui avevo bisogno era 8001. Il modo rapido per creare un'attività basata su questo evento è fare clic con il pulsante destro del mouse sull'evento e selezionare "Allega attività a questo evento ..."

ecco uno screenshot

Nella finestra che si apre, dai un nome al tuo compito in modo intelligente e aggiungi una descrizione in modo da ricordare di cosa si tratta in seguito. Passa attraverso la procedura guidata, selezionando il programma che desideri eseguire, ecc. E quando arriva all'ultima schermata, seleziona la casella "Apri la finestra di dialogo Proprietà per questa attività quando faccio clic su Fine".

A questo punto, l'attività verrà eseguita quando il computer si connette correttamente a qualsiasi rete wireless. Per limitarlo a una particolare rete, dovrai modificare l'attività per filtrare qualcosa di unico nei metadati, come l'SSID della rete. Nella finestra di dialogo delle proprietà per la nuova attività, vai alla scheda Trigger e modifica il trigger.

Ora, prendi nota dei valori per il trigger di base. Passerai a un trigger personalizzato e, quando lo fai, inizierà in bianco e dovrai inserire nuovamente i valori. Dopo aver fatto clic su "Nuovo filtro eventi ..." ricrea il filtro di base selezionando il registro eventi necessario, Origine evento e inserendo l'ID evento.

Si noti che non è possibile specificare metadati da un determinato evento (come l'SSID della rete wireless). Dovrai modificare il codice XML non elaborato affinché ciò accada, come ho scoperto in questo articolo .

Per capire quali metadati è necessario filtrare nel registro eventi, tornare al Visualizzatore eventi e fare clic sulla scheda Dettagli per l'evento. Passa alla vista XML. Per questo caso particolare, il bit rilevante è simile al seguente:

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

Tornare alla finestra di dialogo Nuovo filtro eventi, passare alla scheda XML e selezionare la casella accanto a "Modifica query manualmente".

Facendo riferimento all'articolo riportato sopra, vedrai che la stringa che devi aggiungere avrà un aspetto simile al seguente:

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

Incolla questo prima del </Select>

Boom. Hai finito.


Solo una nota che potrebbe rendere più semplice, anziché modificare l'XML per il trigger, è possibile passare alla scheda Condizioni quando si aprono le proprietà per l'attività. Qui c'è un'opzione per 'Avvia solo se è disponibile la seguente connessione di rete:' e fornisce un elenco a discesa delle reti a cui ti sei precedentemente connesso. Sospetto che ciò filtrerebbe anche il grilletto in modo appropriato. Justin


Con Windows 7 non sono riuscito a far funzionare correttamente il trigger con il menu a discesa "Avvia solo se [..]" ma con il trigger personalizzato e l'XML che hai menzionato ha funzionato. Quando ho usato il menu a discesa (che non mostrava l'SSID di cui avevo bisogno) mi sono sempre fermato a causa di questa condizione.
joweiser,

"La connessione di rete disponibile" non significa che il client si sta connettendo o connesso a una determinata connessione di rete, in base alla richiesta OP.
Gaia,

6

È possibile utilizzare l'Utilità di pianificazione di Windows 7 per questo.

Nella scheda Trigger, iniziare l'attività On an event

Non eseguo Windows 7 su un laptop, ma credo che l'ID evento sia disponibile in Microsoft-Windows-WLAN-AutoConfig.

Nella scheda Condizioni Start Only if the following network connection is available, e specifica la rete wireless desiderata.

Quindi chiamare il programma in Azioni.


"La connessione di rete disponibile" non significa che il client si sta connettendo o connesso a una determinata connessione di rete, in base alla richiesta OP.
Gaia,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.