Como iniciar um comando na conexão / desconexão da rede?

53

Eu tenho uma conexão Wi-Fi que exige autenticação usando um formulário da web quando o link sem fio é estabelecido. Eu sei como automatizar a autenticação com um script que usa curl / curlIE .

Mas como posso pedir ao Windows para chamar meu script sempre que me conecto a uma conexão de rede específica?

Eu também estaria interessado em receber o nome do perfil sem fio ou o ESSID na linha de comando do meu script.

    
por dolmen 26.03.2011 / 18:23

3 respostas

72

No Windows Vista e posterior, você pode fazer isso usando uma tarefa agendada com um acionador de log de eventos. O primeiro evento será acionado conectando-se à rede e você especificará a qual rede você deve estar conectado para que ele seja executado. O segundo evento será acionado ao desconectar de qualquer rede. Cada evento irá executar uma tarefa específica que você especificar; provavelmente os scripts que você mencionou terem escrito.

Definindo um evento para quando você se conecta à rede:

  1. Abra o Agendador de Tarefas. Você pode encontrá-lo digitando Task Scheduler na caixa de pesquisa do menu Iniciar ou abaixo de Programs | Accessories | System Tools .
  2. Na biblioteca Agendador de tarefas, crie uma nova tarefa clicando em Create Task no painel Ações, no lado direito.

  3. Atribuaàtarefaumnomecomo"detect network connect" ou o que você escolher

  4. Na guia Triggers , clique em New... e selecione On an Event na caixa suspensa.

  5. Escolha as seguintes configurações:

    • Registro: Microsoft-Windows-NetworkProfile/Operational
    • Origem: NetworkProfile
    • ID do evento: 10000
  6. Clique em OK e vá para a guia Conditions .
  7. Marque a caixa Start only if the following network connection is available e escolha a rede na qual você deseja executar o script com
  8. Na guia Actions , clique em New... e selecione Start a program . Digite o local do arquivo de script que você deseja executar e clique em OK .
  9. Defina outras configurações de tarefa desejadas e clique em OK .

Definindo um evento para quando você se desconectar da rede:

  1. Siga as etapas de 2 a 4 acima
  2. Use as seguintes configurações de acionador de evento:
    • Registro: Microsoft-Windows-NetworkProfile/Operational
    • Origem: NetworkProfile
    • ID do evento: 10001
  3. Ignore as etapas de 6 a 7, já que você não estará mais conectado a nenhuma rede. Portanto, este evento irá executar qualquer vez que você desconectar de qualquer rede
  4. .
  5. Siga as etapas 8 e 9 novamente
por 26.03.2011 / 21:48
6

Parece que Start only if the following network connection is available está corrompido após a atualização do aniversário do Windows 10. Use este gatilho personalizado:

<QueryList>
  <Query Id="0" Path="System">
    <Select Path="Microsoft-Windows-NetworkProfile/Operational">
     *[System[(EventID=10000)]] and *[EventData[(Data[@Name="Name"]="YOUR-SSID-HERE")]]
    </Select>
  </Query>
</QueryList>

Em redes corporativas, use o nome do domínio em vez do SSID. Nesse caso, a categoria do evento será "Domínio autenticado" e não "Particular".

    
por 17.11.2016 / 15:00
4

Se você estiver usando um Thinkpad, poderá aproveitar o ThinkVantage Access Connection, disponível para Windows 7, Vista e XP.

ThinkVantage Access Connection é o software gerenciador de conexões de rede fornecido com o ThinkPad - se não, pode ser obtido por download no site de suporte. Quando você cria um novo perfil para a sua localização, existe um assistente que pergunta se você deseja configurar uma lista de programas para iniciar quando essa localização estiver conectada. Ele oferece para matar o programa quando a rede está fora também.

Note que o software pode ser configurado para funcionar sem qualquer perfil de localização, e talvez seja o status inicial - nesse caso, não há como configurar uma lista de programas para iniciar quando o wifi é conectado: você tem que crie um perfil de conexão para conter a lista.

Para minha própria experiência, eu tento evitar o uso do software - leva muito mais tempo para se conectar do que sem ele, e às vezes não consegue estabelecer uma nova conexão ao inicializar (pode ser corrigido manualmente reconectando).

O software só funciona com o driver WIFI fornecido com o thinkpad.

Em uma nota lateral, este software oferece estabelecer conexão antes do login do usuário, como uma opção quando você cria o perfil. Eu não sei se isso é possível sem isso.

    
por 08.10.2013 / 07:51