Cómo ejecutar un programa cuando se conecta a una red específica en Windows 7


19

Quiero que se ejecute un ejecutable cada vez que me conecto a mi red inalámbrica en casa. El propósito es sincronizar una carpeta en mi computadora portátil con mi máquina de escritorio.

¿Hay alguna forma de ejecutar un programa o script cuando te unes a una red inalámbrica?

Estoy ejecutando Windows 7, y también me encantaría usar un programa que se encargue de este tipo de tarea.

Respuestas:


16

Tenía esta pregunta exacta, y la respuesta de Darren estaba en el camino correcto, pero no me llevó hasta allí. Esto es lo que terminé haciendo.

Primero determine qué evento desea usar para activar la tarea. Ejecute el programa Visor de eventos y navegue hasta: Applications and Services Logs > Microsoft > Windows > WLAN-AutoConfig > Operational

En mi caso, no quería que mi tarea se ejecutara hasta que estuviera realmente conectado a una red WiFi específica, por lo que el ID de evento que necesitaba era 8001. La forma rápida de crear una tarea basada en este evento es hacer clic derecho en el evento y seleccionar "Adjuntar tarea a este evento ..."

aquí hay una captura de pantalla

En la ventana emergente, asigne un nombre inteligente a su tarea y agregue una descripción para que recuerde qué es más adelante. Diríjase al asistente, seleccione el programa que desea ejecutar, etc., y cuando llegue a la última pantalla, marque la casilla que dice "Abrir el cuadro de diálogo Propiedades para esta tarea cuando haga clic en Finalizar".

En este punto, la tarea se ejecutará cuando la computadora se conecte con éxito a cualquier red inalámbrica. Para limitarlo a una red en particular, tendrá que modificar la tarea para filtrar algo único en los metadatos, como el SSID de la red. En el cuadro de diálogo de propiedades para la nueva tarea, vaya a la pestaña Activadores y edite el activador.

Ahora, tome nota de los valores para el disparador básico. Va a cambiar a un disparador personalizado, y cuando lo haga, comenzará en blanco y deberá completar los valores nuevamente. Después de hacer clic en "Nuevo filtro de eventos ...", vuelva a crear el filtro básico seleccionando el registro de eventos necesario, la fuente del evento e ingresando la ID del evento.

Tenga en cuenta que no hay lugar para especificar metadatos de un evento en particular (como el SSID de la red inalámbrica). Tendrá que editar el XML sin procesar para que esto suceda, como descubrí en este artículo .

Para averiguar qué metadatos necesita filtrar en el Registro de eventos, regrese al Visor de eventos y haga clic en la pestaña Detalles para el evento. Cambie a la vista XML. Para este caso particular, el bit relevante se parece a esto:

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

Vuelva al cuadro de diálogo Nuevo filtro de eventos, cambie a la pestaña XML y marque la casilla junto a "Editar consulta manualmente".

Volviendo al artículo vinculado anteriormente, verá que la cadena que necesita agregar se verá así:

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

Pegue esto justo antes del </Select>

Auge. Ya terminaste


Solo una nota que podría facilitar esto, en lugar de editar el XML para el desencadenante, puede cambiar a la pestaña Condiciones al mostrar las propiedades de la tarea. Aquí hay una opción para 'Iniciar solo si la siguiente conexión de red está disponible:' y proporciona una lista desplegable de redes a las que se ha conectado previamente. Sospecho que esto también filtraría el disparador adecuadamente. Justin


Con Windows 7 no logré que el disparador funcionara correctamente con el menú desplegable "Iniciar solo si [..]", pero con el disparador personalizado y el XML que mencionaste que funcionó. Cuando usaba el menú desplegable (que no mostraba el SSID que necesitaba) siempre me detenía debido a esta condición.
joweiser

"La conexión de red está disponible" no significa que el cliente se está conectando o conectado a una determinada conexión de red, según la solicitud de OP.
Gaia

6

Puede usar el Programador de tareas de Windows 7 para esto.

En la pestaña Disparadores, comience la tarea On an event

No ejecuto Windows 7 en una computadora portátil, pero creo que la identificación del evento se puede encontrar en Microsoft-Windows-WLAN-AutoConfig.

En la pestaña Condiciones Start Only if the following network connection is available, y especifique la red inalámbrica que desea.

Luego llame al programa en Acciones.


"La conexión de red está disponible" no significa que el cliente se está conectando o conectado a una determinada conexión de red, según la solicitud de OP.
Gaia
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.