Cercando di creare una sincronizzazione dei documenti tra portatile e NAS utilizzando SyncBackFree mi sono accorto di avere la necessità di lanciare la sincronizzazione solamente quando il pc è collegato alla rete di casa (che sia wireless o meno). Il problema è che SyncBackFree non ha questa possibilità ma fortunatamente utilizza lo schedulatore di Windows.
Direte voi: una fortuna? Avevo sempre sottovalutato anch’io questo strumento di Windows, ma si è rivelato essere molto più potente di quello che sembrava.
Così ho modificato l’azione schedulata creata da SyncBack direttamente nello schedulatore di Windows, creando un trigger su un registro eventi… Si ma quale?
Il registro eventi da verificare è il seguente:
Application And Services Logs\Microsoft\Windows\NetworkProfile\Operational
Il problema è che questo log da sia gli accessi che le disconnessioni, comprese altre informazioni ma lo schedulatore di Windows, tramite wizard, da solamente la possibilità di filtrare per id Evento e non per i dati come il nome della rete.
Mi ero quasi arreso, quando poi ho visto che era possibile prendere e modificare il filtro a mano utilizzando XPath. Quindi ho analizzato il log in formato XML e ho fatto un po’ di prove. Il risultato è questa query:
<QueryList>
<Query Id=”0″ Path=”Microsoft-Windows-NetworkProfile/Operational”>
<Select Path=”Microsoft-Windows-NetworkProfile/Operational”>*[EventData[(Data[1]=”MAVDOMAIN.local”)]] and *[System[(EventID=10000)]] </Select>
</Query>
</QueryList> |
Praticamente l’eventId 10000 è quello che viene registrato in fase di connessione alla rete, mentre EventData[(Data[1]=”MAVDOMAIN.local”)] rappresenta il campo Name dell’xml indicante il nome alla rete a cui ci si connette.
Qui gli screenshot, una volta aperta la schedulazione da modificare (scusate l’italiano ma l’ho fatto nel mio portatile):

Click su Modifca

Selezionare Al Verificarsi di un evento e poi su Personalizzato.

Modificare la query.
Chiaramente il tutto si può affinare aggiungendo che venga fatta una o più volte al giorno etc, ma questo è stata per me una bella conquista visto il fatto di non aver utilizzato Internet per la soluzione (se non solo per dare una rinfrescata a XPath)!