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.

Herms
fonte
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?


fonte
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
Nirmal Patel
fonte
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.

Dirk Jansen
fonte
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á.

davea0511
fonte
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

água de neta
fonte
É 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.

Eight_Quarter_Bit
fonte
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.

Abbafei
fonte