Abilita / disabilita l'interfaccia wireless in un file bat


17

Esiste un modo per abilitare / disabilitare un'interfaccia di rete wireless tramite la riga di comando (in modo da poterlo inserire in un file bat)?

Quando sono in ufficio, utilizzo una connessione cablata, ma Windows occasionalmente continua a segnalarmi che la mia connessione wireless non viene connessa (anche se ho disattivato l'opzione per avvisarmi quando non c'è connettività). Immagino che l'unico modo per impedirmi di infastidirmi sia disabilitare l'interfaccia, ma preferirei non dover andare nelle impostazioni di rete ogni volta che devo farlo.

Vorrei impostare un file bat o una scorciatoia che posso usare per abilitare / disabilitare il wireless (preferibilmente uno singolo che commuta lo stato corrente), e quindi impostare una scorciatoia da tastiera per quello. Non ho idea di come farlo dalla riga di comando.


Questo riguarda solo l'abilitazione / disabilitazione a livello di driver del dispositivo e non l'accensione / spegnimento del dispositivo stesso. Non desidero abilitare / disabilitare, ma accendere / spegnere. In particolare, per impostazione predefinita il mio WiFi è disattivato, ma quando accedo a determinati siti di clienti, per eseguire il servizio di assistenza, ho bisogno di un file di script .bat o .wsh che accenda il WiFi e si colleghi al profilo corretto per quel cliente e voglio inoltre scrivilo per collegarti alle stampanti di rete, così posso stampare i miei rapporti, ecc.

@KronoS: vai avanti e contrassegna semplicemente l'attenzione del moderatore su qualsiasi "risposta" che deve essere un commento in futuro. Abbiamo uno strumento di conversione per farlo correttamente. Grazie.
Troggy

@OldManRiver: sembra che tu abbia una domanda aggiuntiva. Vorrei cercare Super User per vedere se riesci a trovare qualcosa che risponda alla domanda e, in caso contrario, andare avanti e porre una nuova domanda.
Troggy

@Troggy Stavo seguendo queste istruzioni come da @IvoFlipse. Fermerà comunque la "conversione" futura. :)
James Mertz,

@KronoS: grazie per il riferimento. Se si tratta di una "risposta" che deve far parte della domanda OP, andare avanti e modificare la domanda e aggiungere la parte "risposta", quindi contrassegnare la "risposta" per la cancellazione. Per "risposte" che devono diventare commenti, vai avanti e contrassegna quelle. Apprezziamo l'aiuto, ma in questo modo possiamo mantenere tutti i contenuti associati agli utenti corretti.
Troggy

Risposte:


9

Vorrei impostare un file bat o un collegamento che posso usare per abilitare / disabilitare il wireless

Usa Microsoft DevCon ...

L' utilità DevCon è un'utilità della riga di comando che funge da alternativa a Gestione dispositivi. Utilizzando DevCon, è possibile abilitare, disabilitare, riavviare, aggiornare, rimuovere ed eseguire query su singoli dispositivi o gruppi di dispositivi. DevCon fornisce anche informazioni rilevanti per lo sviluppatore del driver e non disponibili in Gestione dispositivi.

Ed ecco il tutorial per te:

Abilita / Disabilita scheda wireless dalla riga di comando

preferibilmente uno singolo che commuta lo stato corrente

Avrai bisogno di due file batch, uno per WiFi disattivato e uno per WiFi attivato.

Detto questo, suppongo che tu stia usando un laptop. Sei sicuro che il tuo laptop non consenta di attivare / disattivare la WLAN tramite una combinazione di tasti Fn o un interruttore fisico? Puoi pubblicare marca e modello?


Il laptop ha un interruttore, ma è solo per le antenne, non per il dispositivo. Quindi Windows vede ancora il dispositivo e si lamenta che non è connesso, anche se non riesce a vedere alcuna rete.
Herms,

@Herms - solo per l'antenna? è molto insolito. puoi anche disabilitare il controller wireless da Gestione dispositivi, espandere Schede di rete, fare clic con il tasto destro sul controller WLAN e selezionare disabilita ... che è esattamente ciò che DevCon farà dalla riga di comando.

Sì, lo so che posso disabilitarlo attraverso quello. Voglio solo evitare di farlo tutto il tempo. Il file bat mi consente di assegnare una scorciatoia da tastiera. Penso di avere uno script PowerShell che funziona come un interruttore (non riuscivo a capire la mazza per questo, quindi mi sono ricordato che ho installato PowerShell)
Herms

Potrei scrivere un post sul blog ad un certo punto, ma per ora, ecco lo script PowerShell che ho scritto per un interruttore: gist.github.com/294059
Herms

1
Scrivi a come ho impostato tutto: blog.aherrman.com/2010/02/…
Herms

11

Di seguito funziona su Win 7 da un cmdprompt con adminprivilegi:

Disabilitare:

netsh interface set interface "Wireless Network Connection" Disable

Abilitare:

netsh interface set interface "Wireless Network Connection" Enable

Per ottenere i nomi dell'interfaccia:

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

Ho creato un file batch per passare da LAN a WLAN. Abilita la connessione LAN e disabilita la connessione WLAN se la WLAN è attiva e viceversa.

Il file batch è stato testato su Windows 7. Chiamarlo WLAN-LAN.bate avviarlo come prompt elevato.

@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

È necessario modificare i nomi delle interfacce di rete in modo che corrispondano alle interfacce di rete sul proprio sistema. Quindi cambia i nomi tra virgolette: "...".

Inoltre, se si imposta il servizio di configurazione automatica via cavo su automatico. Il testo nei commenti può essere modificato come desideri.


1
Potresti chiarire se qualcosa nella sceneggiatura deve essere cambiato per lingue diverse dall'olandese? O meglio, tradurre i commenti e le stringhe in inglese?
sblair,

@sblair basta modificare la stringa in "", deve cambiare Draadloze netwerkverbinding al nome della tua interfaccia come connessione wireless ..
netawater

"Net start dot3svc" è stato aggiunto in modo errato? fa sì che il livello di errore sia sempre 0.
netawater,

2

Cordiali saluti ... per la versione a 64 bit di Vista e Win7 la versione "64 bit" sopra indicata non funzionerà. Devi scaricare l'intero kit di driver di dispositivo Windows, quindi estrarre devcon.exe da qui: C:\WinDDK\7600.16385.1\tools\devcon\amd64\devcon.exe e incollare c:\Windows/system23 (lo so, lo so ... ho anche un Intel i3 e ho ancora dovuto usare questo "amd64")

Il kit WinDDK è disponibile qui: http://www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx È enorme (620 MB). Il file devcon è minuscolo. : p

Nota: un modo semplice per trovare il numero del driver del dispositivo per qualsiasi dispositivo accedendo a Gestione dispositivi (dal pannello di controllo), guardare le proprietà e in "dettagli" selezionare "ID hardware". Ci sarà un grande numero, vuoi solo questa parte: DEV _ ???? (compila il? con i tuoi 4 numeri). Ad esempio, se viene DEV_4315inserito in enable.bat: devcon enable"* DEV_4315" e inserito in disable.bat: devcon disable"* DEV_4315".

Assicurati di aggiungere il carattere jolly che lo precede: * DEV _ ???? (vedi i 2 esempi che ho appena dato). Dovrai eseguirli come amministratore. Cordiali saluti ... se si dispone di un indicatore luminoso hardware, questo probabilmente non lo attiverà.


1

usa questo file bat per attivare / disattivare 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


Questo è quello che stavo cercando. Molte grazie!
Hybrid SyntaX il

0

Un'altra possibilità è Sikuli Script . Sikuli è davvero interessante perché adotta un approccio visivo allo scripting e dovrebbe essere facilmente in grado di realizzare ciò di cui hai bisogno. Guarda il video al link sopra per vedere cosa intendo. Sikuli funziona su Mac, Windows e Linux.


In modo divertente, l'ho appena scoperto questa mattina. Non penso che vorrei usarlo per lo scripting di cose come questa, in quanto richiederebbe molto più tempo per l'esecuzione.
Herms,

0

Potrebbe essere possibile utilizzare l' wmicutilità (anche se non sono sicuro che si tratti di Windows Vista / 7 / ecc.)

o

(anche se questo è un modo divertente per farlo e potrebbe rompere le cose, e potrebbe non funzionare così bene) utilizzare lo netshstrumento (anche potrebbe non venire con le nuove versioni di Windows) per dare alla scheda di rete un indirizzo IP assegnato manualmente se si suppone che ne abbia uno assegnato automaticamente o viceversa.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.