Включить / отключить беспроводной интерфейс в файле bat

17

Есть ли способ включить / отключить интерфейс беспроводной сети через командную строку (чтобы я мог поместить его в файл bat)?

Когда я нахожусь в офисе, я использую проводное соединение, но Windows по-прежнему время от времени выдает сообщение о том, что мое беспроводное соединение не подключено (хотя я отключил опцию уведомления, когда нет соединения). Я предполагаю, что единственный способ не дать мне вызвать это - отключить интерфейс, но я бы предпочел не заходить в настройки сети каждый раз, когда мне это нужно.

Я хотел бы настроить файл bat или ярлык, который я могу использовать, чтобы включить / отключить беспроводную связь (предпочтительно один, который переключает текущее состояние), а затем просто настроить комбинацию клавиш для этого. Я просто понятия не имею, как это сделать из командной строки.

Herms
источник
Это касается только включения / выключения на уровне драйвера устройства, а не включения / выключения самого устройства. Я не хочу, чтобы включить / отключить, но включить / выключить. В частности, мой WiFi по умолчанию отключен, но когда я захожу на определенные сайты клиентов, чтобы выполнить работу по обслуживанию, мне нужен файл сценария .bat или .wsh, который включает WiFi и подключается к нужному профилю для этого клиента, и я хочу дополнительно напишите это по ссылке в сетевых принтерах, чтобы я мог распечатывать свои отчеты и т. д.
@KronoS: продолжайте и просто отметьте внимание модератора на любой «ответ», который должен быть комментарием в будущем. У нас есть инструмент конвертации, чтобы сделать это правильно. Благодарю.
Troggy
@OldManRiver: Похоже, у вас есть дополнительный вопрос. Я бы поискал Super User, чтобы узнать, сможете ли вы найти что-то, что отвечает на вопрос, а если нет, то задайте новый вопрос.
Troggy
@Troggy Я следовал этим инструкциям согласно @IvoFlipse. Остановит будущую «конверсию» однако. :)
Джеймс Мерц
@KronoS: спасибо за ссылку. Если это «ответ», который должен быть частью OP-вопроса, тогда отредактируйте вопрос и добавьте к нему часть «ответ», затем отметьте «ответ» для удаления. Для «ответов», которые должны стать комментариями, просто отметьте их. Мы ценим помощь, но таким образом мы можем сохранить весь контент, связанный с правильными пользователями.
Troggy

Ответы:

9

Я хотел бы настроить файл bat или ярлык, который я могу использовать, чтобы включить / отключить беспроводной

Используйте Microsoft DevCon ...

DevCon утилита является утилитой командной строки , которая выступает в качестве альтернативы диспетчера устройств. Используя DevCon, вы можете включать, отключать, перезапускать, обновлять, удалять и запрашивать отдельные устройства или группы устройств. DevCon также предоставляет информацию, которая имеет отношение к разработчику драйвера и недоступна в диспетчере устройств.

И вот учебник для вас:

Включить / отключить беспроводную карту из командной строки

предпочтительно один, который переключает текущее состояние

Вам понадобятся два пакетных файла, один для WiFi Off и один для WiFi On.

Сказав это, я предполагаю, что вы используете ноутбук. Вы уверены, что ваш ноутбук не позволяет включать / выключать WLAN с помощью комбинации клавиш Fn или физического коммутатора? Можете ли вы опубликовать марку и модель?


источник
У ноутбука есть тумблер, но он только для антенн, а не устройства. Поэтому Windows по-прежнему видит устройство и жалуется, что оно не подключено, даже если оно не видит никаких сетей.
Herms
@ Herms - только для антенны? это очень необычно. Вы также можете отключить беспроводной контроллер из диспетчера устройств, развернуть Сетевые адаптеры, щелкнуть правой кнопкой мыши контроллер WLAN и выбрать отключить ... это именно то, что DevCon будет делать из командной строки.
Да, я знаю, что могу отключить это через это. Я просто хочу избежать необходимости делать это все время. Файл Bat позволяет мне назначить ему сочетание клавиш. Я думаю, что у меня есть скрипт powershell, который работает как тумблер (я не смог выяснить для него летучую мышь, потом вспомнил, что у меня установлен powershell)
Herms
Может писать в блоге об этом в какой - то момент, но сейчас, вот сценарий PowerShell я написал для переключения: gist.github.com/294059
Herms
1
Рецензия для того, как я установил все вверх: blog.aherrman.com/2010/02/...
Herms
11

Следующее работает на Win 7 из cmdкомандной строки с adminпривилегиями:

Отключить:

netsh interface set interface "Wireless Network Connection" Disable

Включить:

netsh interface set interface "Wireless Network Connection" Enable

Чтобы получить имена интерфейсов:

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

Я сделал пакетный файл для переключения между LAN и WLAN. Он включает подключение к локальной сети и отключает подключение к беспроводной локальной сети, если активна беспроводная локальная сеть, и наоборот.

Пакетный файл был протестирован в Windows 7. Вызовите его WLAN-LAN.batи запустите как запрос с повышенными правами.

@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

Вы должны изменить имена сетевых интерфейсов, чтобы они соответствовали сетевым интерфейсам в вашей собственной системе. Так что меняйте имена между кавычками: «...».

Кроме того, если вы установите автоматический режим проводной автоматической настройки. Текст в комментариях может быть изменен по вашему желанию.

Дирк Янсен
источник
1
Не могли бы вы уточнить, нужно ли что-либо менять в сценарии для языков, отличных от голландского? Или, что еще лучше, перевести комментарии и строковые литералы на английский?
sblair
@sblair просто измените строку в "", необходимо поменять Draadloze netwerkverbinding на имя вашего интерфейса, например, на беспроводное соединение ..
netawater,
Это "net start dot3svc" будет добавлено неправильно? это всегда вызывает errorlevel 0.
Нетуотер
2

К вашему сведению ... для 64-битной версии Vista и Win7 указанная выше "64-битная" версия не будет работать. Вы должны загрузить весь комплект драйверов для устройства Windows, затем извлечь devcon.exe отсюда: C:\WinDDK\7600.16385.1\tools\devcon\amd64\devcon.exe и вставить в него c:\Windows/system23 (я знаю, я знаю ... У меня также есть Intel i3, и мне все еще приходилось использовать этот "amd64")

Комплект WinDDK можно найти здесь: http://www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx. Он огромен (620 МБ). Файл devcon крошечный. :п

Примечание. Простой способ найти номер драйвера устройства для любого устройства - перейти в диспетчер устройств (из панели управления), посмотреть свойства и в разделе «подробности» выбрать «Идентификаторы оборудования». Там будет большое число, вы просто хотите эту часть: DEV _ ???? (заполните? своими 4 числами). Например, если это DEV_4315затем поместить это в enable.bat: devcon enable"* DEV_4315", и поместить это в disable.bat: devcon disable"* DEV_4315".

Убедитесь, что добавили подстановочный знак перед ним: * DEV _ ???? (см. 2 примера, которые я только что дал). Вам нужно будет запустить их от имени администратора. К вашему сведению ... если у вас есть индикатор оборудования, то, вероятно, он не будет переключаться.

davea0511
источник
1

используйте этот файл для переключения 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

netawater
источник
Это то, что я искал. Большое спасибо!
Гибрид SyntaX
0

Другая возможность - Sikuli Script . Sikuli - это действительно круто, потому что он требует визуального подхода к написанию сценариев и должен легко выполнять то, что вам нужно. Посмотрите видео по ссылке выше, чтобы понять, что я имею в виду. Sikuli работает на Mac, Windows и Linux.

Eight_Quarter_Bit
источник
Забавно, я только что обнаружил это сегодня утром. Я не думаю, что я хотел бы использовать это для написания сценариев, как это, так как обычно это занимает намного больше времени для запуска.
Herms
0

Это может быть возможно с помощью wmicутилиты (хотя я не уверен, что она поставляется с Windows Vista / 7 / и т. Д.)

или

(хотя это забавный способ сделать это и может сломать что-то, и это может работать не так хорошо) используйте netshинструмент (также он может не входить в новые версии Windows), чтобы дать сетевому адаптеру назначенный вручную IP-адрес, если Предполагается, что он будет автоматически назначен или наоборот.

Abbafei
источник