Ativar / desativar a interface sem fio em um arquivo bat


17

Existe uma maneira de ativar / desativar uma interface de rede sem fio via linha de comando (para que eu possa colocá-la em um arquivo bat)?

Quando estou no escritório, uso uma conexão com fio, mas o Windows ainda ocasionalmente me incomoda por minha conexão sem fio não estar conectada (mesmo que eu tenha desativado a opção de me notificar quando não há conectividade). Suponho que a única maneira de impedir que isso me incomode é desabilitar a interface, mas prefiro não ter que entrar nas configurações de rede toda vez que precisar.

Gostaria de configurar um arquivo bat ou um atalho que eu possa usar para ativar / desativar a conexão sem fio (de preferência uma que alterna o estado atual) e, em seguida, basta configurar um atalho de teclado para isso. Eu simplesmente não tenho idéia de como fazer isso na linha de comando.


Isso aborda apenas a ativação / desativação no nível do driver do dispositivo e não a ativação / desativação do próprio dispositivo. Não quero ativar / desativar, mas ligar / desligar. Em particular, meu Wi-Fi é desativado, mas quando chego a determinados sites de clientes, para executar serviços, preciso de um arquivo de script .bat ou .wsh que ligue o Wi-Fi e se conecte ao perfil correto para esse cliente, além de desejar escrevê-lo para ligação nas impressoras de rede, para que eu possa imprimir os meus relatórios, etc.

@KronoS: Vá em frente e marque a atenção do moderador em qualquer "resposta" que precise ser um comentário no futuro. Temos uma ferramenta de conversão para fazer isso corretamente. Obrigado.
Troggy 02/03

@ OldManRiver: Parece que você tem uma pergunta adicional. Eu pesquisaria o Superusuário para ver se você pode encontrar algo que responda à pergunta e, se não, vá em frente e faça uma nova pergunta.
Troggy

@ Troggy Eu estava seguindo estas instruções conforme @IvoFlipse. Parará a "conversão" futura no entanto. :)
James Mertz 02/03

@ KronoS: Obrigado pela referência. Se for uma "resposta" que precisa fazer parte da pergunta do OP, vá em frente e edite a pergunta e adicione a parte "resposta" a ela, e sinalize a "resposta" para exclusão. Para "respostas" que precisam se tornar comentários, vá em frente e apenas sinalize essas. Agradecemos a ajuda, mas dessa forma podemos manter todo o conteúdo associado aos usuários corretos.
Troggy

Respostas:


9

Gostaria de configurar um arquivo bat ou um atalho que eu possa usar para ativar / desativar a conexão sem fio

Use o Microsoft DevCon ...

O utilitário DevCon é um utilitário de linha de comando que atua como uma alternativa ao Gerenciador de dispositivos. Usando o DevCon, você pode ativar, desativar, reiniciar, atualizar, remover e consultar dispositivos ou grupos de dispositivos individuais. O DevCon também fornece informações relevantes para o desenvolvedor do driver e não estão disponíveis no Gerenciador de dispositivos.

E aqui está o tutorial para você:

Ativar / desativar placa sem fio na linha de comando

de preferência um único que alterna o estado atual

Você precisará de dois arquivos em lote, um para o WiFi desativado e outro para o WiFi ativado.

Dito isto, presumo que você esteja usando um laptop. Tem certeza de que o seu laptop não permite ativar / desativar a WLAN por meio de uma combinação de teclas Fn ou de um comutador físico? Você pode postar marca e modelo?


O laptop tem uma alternância, mas é apenas para as antenas, não para o dispositivo. Portanto, o Windows ainda vê o dispositivo e reclama que ele não está conectado, mesmo que não veja nenhuma rede.
Herms

@ Herms - apenas para a antena? isso é muito incomum. você também pode desativar o controlador sem fio no gerenciador de dispositivos, expandir Adaptadores de rede, clicar com o botão direito do mouse no controlador WLAN e selecionar desativar ... que é exatamente o que o DevCon fará na linha de comando.

Sim, eu sei que posso desativá-lo por isso. Eu só quero evitar ter que fazer isso o tempo todo. O arquivo Bat permite-me atribuir um atalho de teclado. Acho que tenho um script PowerShell que funciona como um comutador (não conseguia descobrir o taco para ele, então se lembrou que eu PowerShell instalado)
Herms

Pode escrever um post sobre isso em algum momento, mas, por enquanto, aqui está o script do PowerShell que escrevi para uma alternância: gist.github.com/294059
Herms

1
Artigo sobre como eu configuro tudo: blog.aherrman.com/2010/02/…
Herms

11

A seguir, funciona no Win 7 a partir de um cmdprompt com adminprivilégios:

Desabilitar:

netsh interface set interface "Wireless Network Connection" Disable

Para ativar:

netsh interface set interface "Wireless Network Connection" Enable

Para obter os nomes da interface:

C:\Users\nirmal>netsh interface show interface

Admin State    State          Type             Interface Name
-------------------------------------------------------------------------
Enabled        Connected      Dedicated        Wireless Network Connection
Disabled       Disconnected   Dedicated        Local Area Connection

2

Criei um arquivo em lotes para alternar entre LAN e WLAN. Ele habilita sua conexão LAN e desabilita sua conexão WLAN se a WLAN estiver ativa e vice-versa.

O arquivo em lotes foi testado no Windows 7. Ligue WLAN-LAN.bate inicie-o como um prompt elevado.

@Echo off

Echo De Netwerkinstellingen worden omgezet van WLan naar LAN of Vice Versa ! 
Echo Even Geduld svp  .................................................

net start dot3svc
netsh lan show interfaces >NUL

if errorlevel 1 goto LAN
if errorlevel 0 goto WLAN

:LAN

netsh interface set interface "Draadloze netwerkverbinding" disabled >NUL

sc start dot3svc >NUL
netsh interface set interface "LAN-verbinding" enabled >NUL

goto end

:WLAN

sc start dot3svc >NUL
netsh interface set interface "LAN-verbinding" disabled >NUL
sc stop dot3svc >NUL

netsh interface set interface "Draadloze netwerkverbinding" enabled >NUL

:end

Você deve alterar os nomes das interfaces de rede para corresponder às interfaces de rede em seu próprio sistema. Então mude os nomes entre aspas: "...".

Além disso, você deve configurar o serviço de configuração automática com fio como automático. O texto nos comentários pode ser alterado conforme desejado.


1
Você poderia esclarecer se alguma coisa no script deve ser alterada para outros idiomas além do holandês? Ou melhor ainda, traduzir os comentários e literais de string para o inglês?
sblair

@sblair basta modificar corda no "", deve mudar Draadloze netwerkverbinding ao seu nome de interface como conexão sem fio ..
netawater

É "net start dot3svc" adicionado errado? faz com que errorlevel seja 0 sempre.
Netawater

2

FYI ... para a versão de 64 bits do Vista e Win7, a versão "64 bits" mencionada acima não funcionará. Você precisa fazer o download de todo o kit do driver de dispositivo do Windows, extrair o devcon.exe daqui: C:\WinDDK\7600.16385.1\tools\devcon\amd64\devcon.exe e colar c:\Windows/system23 (eu sei, eu sei ... eu também tenho um Intel i3 e ainda precisava usar esse "amd64")

O kit do WinDDK pode ser encontrado aqui: http://www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx É enorme (620 MB). O arquivo devcon é pequeno. : p

Nota: Uma maneira fácil de encontrar o número do driver de dispositivo para qualquer dispositivo, acessando o gerenciador de dispositivos (no painel de controle), consulte as propriedades e, em "detalhes", selecione "IDs de hardware". Haverá um grande número, você só quer esta parte: DEV _ ???? (preencha? com seus 4 números). Por exemplo, se for DEV_4315colocado em enable.bat: devcon enable"* DEV_4315" e em disable.bat: devcon disable"* DEV_4315".

Certifique-se de adicionar o curinga que precede: * DEV _ ???? (veja os 2 exemplos que acabei de dar). Você precisará executá-los como administrador. FYI ... se você tiver uma luz indicadora de hardware, provavelmente não a alternará.


1

use este arquivo bat para alternar a wlan.

@Echo off set interface="Wireless Network Connection " ipconfig | find %interface% >NUL rem if errorlevel 0 goto LAN rem if errorlevel 1 goto WLAN if %errorlevel% EQU 0 goto LAN if %errorlevel% EQU 1 goto WLAN :LAN echo "LAN" netsh interface set interface %interface% disabled goto end :WLAN echo "WLAN" netsh interface set interface %interface% enabled :end


É isso que eu tenho procurado. Muito obrigado!
Hybrid SyntaX

0

Outra possibilidade é o script Sikuli . O Sikuli é muito legal porque adota uma abordagem visual dos scripts e deve ser capaz de realizar facilmente o que você precisa. Confira o vídeo no link acima para ver o que quero dizer. O Sikuli é executado no Mac, Windows e Linux.


Divertidamente, acabei de descobrir isso esta manhã. Eu não acho que eu gostaria de usá-lo para criar scripts como esse, pois geralmente levaria muito mais tempo para ser executado.
Herms

0

Pode ser possível usar o wmicutilitário (embora não tenha certeza se ele vem com o Windows Vista / 7 / etc.)

ou

(embora seja uma maneira engraçada de fazer isso e quebre algumas coisas, e que pode não funcionar tão bem), use a netshferramenta (também pode não vir com as novas versões do Windows) para fornecer ao adaptador de rede um endereço IP atribuído manualmente, se é suposto ter um atribuído automaticamente, ou o contrário.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.