Como executar um programa ao conectar-se a uma rede específica no Windows 7

19

Quero executar um executável sempre que me conectar à minha rede sem fio em casa. O objetivo é sincronizar uma pasta no meu laptop com a minha máquina desktop.

Existe alguma maneira de executar um programa ou script quando você ingressa em uma rede sem fio?

Estou executando o Windows 7 e também ficaria feliz em usar um programa que cuide desse tipo de tarefa.

Lucas Wilson-Richter
fonte

Respostas:

16

Eu tinha essa pergunta exata, e a resposta de Darren estava no caminho certo, mas não me levou até lá. Aqui está o que eu acabei fazendo.

Primeiro, determine qual evento você deseja usar para acionar a tarefa. Execute o programa Visualizador de Eventos e navegue para: Applications and Services Logs > Microsoft > Windows > WLAN-AutoConfig > Operational

No meu caso, eu não queria que minha tarefa fosse executada até que eu estivesse realmente conectado a uma rede WiFi específica; portanto, o ID do evento que eu precisava era 8001. A maneira rápida de criar uma tarefa com base nesse evento é clicar com o botão direito do mouse no evento e selecionar "Anexar Tarefa a Este Evento ..."

aqui está uma captura de tela

Na janela exibida, nomeie sua tarefa como algo inteligente e adicione uma descrição para que você se lembre do que é mais tarde. Siga o assistente, selecione o programa que deseja executar, etc. e, quando chegar à última tela, marque a caixa que diz "Abra a caixa de diálogo Propriedades para esta tarefa quando clicar em Concluir".

Nesse ponto, a tarefa será executada quando o computador se conectar com êxito a qualquer rede sem fio. Para limitá-lo a uma rede específica, você precisará modificar a tarefa para filtrar algo único nos metadados, como o SSID da rede. Na caixa de diálogo de propriedades da nova tarefa, vá para a guia Triggers e edite o gatilho.

Agora, anote os valores para o gatilho Básico. Você mudará para um gatilho personalizado e, quando o fizer, ele começará em branco e será necessário preencher os valores novamente. Depois de clicar em "Novo filtro de eventos ...", recrie o filtro básico selecionando o log de eventos necessário, a fonte do evento e inserindo o ID do evento.

Observe que não há lugar para especificar metadados de um evento específico (como o SSID da rede sem fio). Você precisará editar o XML bruto para fazer isso acontecer, como descobri neste artigo .

Para descobrir quais metadados você precisa filtrar no Log de Eventos, volte ao Visualizador de Eventos e clique na guia Detalhes do evento. Alterne para a visualização XML. Para este caso em particular, o bit relevante se parece com isso:

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

De volta à caixa de diálogo Novo filtro de eventos, alterne para a guia XML e marque a caixa ao lado de "Editar consulta manualmente".

Voltando ao artigo acima, você verá que a string que você precisa adicionar será mais ou menos assim:

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

Cole isso logo antes do </Select>

Estrondo. Você Terminou.


Apenas uma observação que pode facilitar isso, em vez de editar o XML do gatilho, você pode alternar para a guia Condições ao exibir as propriedades da tarefa. Aqui há uma opção para 'Iniciar apenas se a seguinte conexão de rede estiver disponível:' e fornece uma lista suspensa de redes às quais você se conectou anteriormente. Eu suspeito que isso filtraria o gatilho adequadamente também. Justin

Corey McKrill
fonte
No Windows 7, não consegui fazer o gatilho funcionar corretamente com o menu suspenso "Iniciar apenas se [..]", mas com o gatilho personalizado e o XML que você mencionou que funcionavam. Ao usar o menu suspenso (que não estava mostrando o SSID que eu precisava), eu sempre parava por causa dessa condição.
joweiser
"A conexão de rede está disponível" não significa que o cliente está se conectando ou conectado a uma conexão de rede determinada, de acordo com a solicitação do OP.
Gaia
6

Você pode usar o Windows 7 Task Scheduler para isso.

Na guia Triggers, inicie a tarefa On an event

Não executo o Windows 7 em um laptop, mas acredito que a identificação do evento pode ser encontrada no Microsoft-Windows-WLAN-AutoConfig.

Na guia Condições,, Start Only if the following network connection is availablee especifique a rede sem fio desejada.

Em seguida, chame o programa em Ações.

Darren Hall
fonte
"A conexão de rede está disponível" não significa que o cliente está se conectando ou conectado a uma conexão de rede determinada, de acordo com a solicitação do OP.
Gaia