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

18

Eu quero ter uma execução executável toda vez que eu 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ê entra em uma rede sem fio?

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

    
por Lucas Wilson-Richter 07.01.2010 / 02:21

2 respostas

16

Eu tive essa pergunta exata, e a resposta de Darren estava no caminho certo, mas não me levou até lá. Aqui está o que 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 realmente estivesse conectado a uma rede Wi-Fi específica, então o ID de 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 ..."

Najanelaqueaparece,nomeiesuatarefacomoalgointeligenteeadicioneumadescriçãoparaquevocêselembredoqueédepois.Percorraoassistente,selecioneoprogramaquedesejaexecutar,etc.,equandochegaràúltimatela,marqueacaixa"Abrir a caixa de diálogo Propriedades para essa tarefa quando clicar em Concluir".

Neste 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ê terá que modificar a tarefa para filtrar algo único nos metadados, como o SSID da rede. Na caixa de diálogo de propriedades da nova tarefa, acesse a guia Triggers e edite o acionador.

Agora, anote os valores para o acionador básico. Você vai mudar para um gatilho personalizado e, quando isso acontecer, ele será deixado em branco e você precisará 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 origem do evento e inserindo a 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 que isso aconteça, conforme descobri em este artigo .

Para descobrir quais metadados você precisa filtrar no Log de Eventos, volte para o Visualizador de Eventos e clique na guia Detalhes do evento. Alterne para a exibição XML. Para este caso em particular, o bit relevante é algo como isto:

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

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

Voltando ao artigo ligado acima, você verá que a string que você precisa adicionar será parecida com esta:

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

Cole isso antes do </Select>

Boom. Você está feito.

Apenas uma nota que pode facilitar isso, em vez de editar o XML para o acionador, você pode alternar para a guia Condições ao exibir as propriedades da tarefa. Aqui há uma opção para "Iniciar somente 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 apropriadamente também. Justin

    
por 24.08.2011 / 19:55
6

Você pode usar o Agendador de Tarefas do Windows 7 para isso.

Under Triggers Tab, Begin the task On an event

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

Under Conditions Tab, Start Only if the following network connection is available, and specific the Wireless network you want.

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

    
por 07.01.2010 / 02:49