Como executar o script na alteração do estado da interface no Windows?

4

Eu basicamente quero desligar / iniciar alguns serviços com base no nome da rede e tipo eu conectar, então ainda melhor para executar o script quando a rede é detectada automaticamente é possível ? Obrigado.

    
por amsys 28.09.2010 / 17:15

4 respostas

2

Pode haver alguma ferramenta disponível, mas você pode criar a sua própria com algum trabalho.

Veja este link sobre como trabalhar com eventos do WMI: link

Basicamente, você estaria escrevendo um script powershell ou um programa c # para ouvir eventos WMI, que podem ser algo como uma concessão de dhcp sendo renovada ou conexão on-line. Mas você teria que fazer mais pesquisas para o evento específico que você deseja, se não for um evento de aluguel de dhcp (o que parece não ser). Então, seu script pode fazer o que quiser quando o evento surgir - como iniciar serviços etc.

O link deve fornecer alguma orientação para você continuar procurando, ou punt, porque é uma espécie de dor.

Você gostaria de usar algum tipo de consulta como esta no wbemtest para detalhar e ver em qual evento você está interessado (como o artigo soletra). Então você faria o necessário evento register-wmi no powershell assim que estivesse satisfeito com sua consulta.

SELECT * FROM __InstanceModificationEvent WITHIN 3 WHERE TargetInstance ISA 'Win32_NetworkAdapterConfiguration'
    
por 28.09.2010 / 18:15
4

Você também pode usar o Agendador de Tarefas do Windows para ouvir no evento WMI.

    
por 29.09.2010 / 18:38
0

Isso soa como o problema que o serviço Reconhecimento de local de rede tenta resolver. Aposto que o PowerShell poderia ser empregado para usar qualquer encanamento .NET para escutar eventos de serviço NLA.

    
por 28.09.2010 / 19:02
0

Você pode configurar um consumidor de evento WMI permanente, usando o CommandLineEventConsumer ou o ActiveScriptEventConsumer.

link - Consumidor de evento de script ativo

link - Consumidor de evento de linha de comando

Felicidades

    
por 29.09.2010 / 18:16