Автоматическое отключение Wi-Fi при подключении к Ethernet сети
В Windows 10/11 при доступности нескольких Wi-Fi сетей система автоматически выбирает беспроводную сеть с самым сильным уровнем сигнала (не зависимо от того, какова скорость этого соединения и сколько устройств его используют). Но при подключении вашего компьютера/ноутбука к проводной Ethernet сети, Windows продолжает использовать Wi-Fi сеть, несмотря на то, что скорость подключения по Ethernet кабелю значительно выше, а само подключение стабильнее и не подвержено помехам. Чтобы переключиться на проводное Ethernet-подключение, пользователю Windows нужно каждый раз вручную отключать Wi-Fi на устройстве. Рассмотрим, как настроить автоматическое отключение Wi-Fi при подключении к Ethernet сети в Windows 10 и 11.
Настройка WLAN Switching в BIOS/UEFI
У многих производителей ноутбуков и компьютеров есть собственная реализация технологии LAN/WLAN Switching (может называться по-разному). Суть технологии заключается в том, что на компьютере одновременно должен передавать данные только один сетевой адаптер. Если во время использования устройством Wi-Fi сети на компьютере появилось более приоритетное проводное Ethernet-подключение, Wi-Fi адаптер должен автоматически переходить в режим ожидания. Тем самым экономятся ресурсы батареи и уменьшается нагрузка на беспроводную сеть.
LAN/WLAN Switching можно включить в настройках BIOS/UEFI или в свойствах драйвера беспроводного сетевого адаптера (все зависит от производителя оборудования).
Перезагрузите компьютер и войдите в настройки UEFI / BIOS найдите и включите опцию LAN/WLAN Switching (на устройствах HP), Wireless Radio Controll (на устройствах Dell).
Данный функционал может называться по-другому или совсем отсутствовать в BIOS/UEFI других производителей.
Отключить Wi-Fi после установки проводного подключения с помощью драйвера
В настройках драйвера некоторых Wi-Fi адаптеров есть опция, позволяющая автоматически отключать Wi-Fi адаптер при наличии скоростного Ethernet подключения.
Откройте диспетчер устройства Windows (
devmgmt.msc
), найдите ваш Wireless сетевой адаптер в секции Network adapters и откройте его свойства. Перейдите на вкладку Advanced.
В списке опций Wi-Fi адаптера найдите пункт «Отключить после установления проводного соединения / Disabled Upon Wired Connect». Измените значение опции на Включено и сохраните изменения.
Благодаря этой опции драйвер беспроводной сети будет отключать адаптер от Wi-fi сети при обнаружении активного Ethernet LAN подключения.
Данная опция поддерживается далеко не на всех моделях Wi-Fi адаптеров. Для других беспроводных сетевых адаптеров вы можете автоматизировать автоматические переключение на Ethernet с помощью задания планировщика или скрипта PowerShell.
Отключить Wi-Fi при подключении Ethernet с помощью заданий планировщика
Рассмотрим, как автоматически включить и отключить Wi-Fi адаптер в Windows с помощью специальных заданий планировщика (Task Scheduler), которые привязаны к событию подключения/отключения Ethernet кабеля (триггеры событий планировщика Windows).
В первую очередь нужно включить служу Wired AutoConfig (dot3svc) и настроить ее на автоматический запуск. Можно проверить состояние службы и настроить ее автозапуск с помощью PowerShell:
Set-Service dot3svc -startuptype automatic -passthru
Start-Service dot3svc
Get-Service dot3svc
Теперь откройте журнал событий Event Viewer (консоль
eventvwr.msc
) и перейдите в раздел Applications and Services Logs -> Windows -> Wired-AutoConfig -> Operational. Здесь нас интересуют два событий:
- Event ID 15501 — The network adapter has been connected. Появляется при подключении Ethenet кабеля/линка.
- Event ID 15500 — The network adapter has been unplugged. Событие отключение LAN кабеля.
В предыдущих версиях Windows нужно использовать другие коды событий появления линка на LAN интерфейсе (
Event-ID: 32 — Network link is established
) и (
Event-ID: 27 – Network link is disconnected
).
Мы привяжем к данным событиям PowerShell команды для включения и отключения Wi-Fi адаптера. Для этого вам нужно получить имя вашего Wi-Fi адаптера. Вы можете вывести список сетевых адаптеров с помощью PowerShell:
Get-NetAdapter
В нашем примере название адаптера TPLinkWiFi.
Щелкните по событию 15501 в Event Viewer и выберите пункт Attach task to this event.
Укажите имя задания планировщика DisableWiFi_if_Ethernet_Connected-15501. В качестве действия выберите Start a program. Чтобы отключить Wi-Fi адаптер нужно выполнить такой код:
Program:
C:WindowsSystem32WindowsPowerShellv1.0powershell.exe
Add arguments:
-NoProfile -WindowStyle hidden -ExecutionPolicy Bypass -Command &{Disable-NetAdapter -Name TPLinkWiFi -confirm:$False}
Аналогичным образом создайте еще одно задание планировщика для события 15500.
- Укажите имя EnableWiFi_if_Ethernet_Disconnected-15500
- Задайте следующий код:
Command:
C:WindowsSystem32WindowsPowerShellv1.0powershell.exe
Argument:
-NoProfile -WindowStyle hidden -ExecutionPolicy Bypass -Command &{Enable-NetAdapter -Name TPLinkWiFi -confirm:$False}
В свойствах обоих заданий перейдите на вкладку Conditions и отключите опцию Start the task only if the computer is on AC Power.
Теперь попробуйте подключить сетевой кабель LAN. Через пару секунд ваш Wi-Fi адаптер будет автоматически отключен (Status=Dormant).
При отключении Ethernet, задание планировщика включаете беспроводной адаптер и Windows автоматически подключается к вашей Wi-Fi сети.
PowerShell скрипт WLAN Manager для автопереключения между Wi-Fi и Ethernet сетями
Для решения задачи автоматического отключения Wi-Fi адаптера при подключении компьютера к проводной Ethernet сети можно воспользоваться готовым PowerShell скриптом WLAN Manager. Актуальная версию версия скрипта WLAN Manager с расширенной поддержкой Windows 10 и корректным определением виртуальных адаптеров есть на GitHub (https://github.com/jchristens/Install-WLANManager).
PowerShell скрипт создаст новое задание планировщика в системе, которое периодически выполняет проверку активных сетевых адаптеров. Если скрипт обнаруживает наличие подключение по LAN (Ethernet), то WLAN интерфейс автоматически отключается. Если сетевой кабель Ethernet отключен, скрипт сам включает беспроводной Wi-Fi адаптер.
Скрипт состоит из 2 файлов:
- PSModule-WLANManager.psm1
- WLANManager.ps1
Рассмотрим, как установить скрипт WLAN Manager в Windows 10. Откройте командную строку PowerShell с правами администратора и разрешите выполнение скрипта:
Set-ExecutionPolicy RemoteSigned
Установите скрипт в Windows с помощью команды:
.WLANManager.ps1 -Install:System
Скрипт можно установить для запуска из под прав пользователя (Install:User) или для запуска из-под системы (Install:System).
Verifying WLAN Manager version information… Missing
Writing WLAN Manager version information… Done
Verify WLAN Manager Files… Missing
Installing WLAN Manager Files… Done
Verify WLAN Manager Scheduled Task… Missing
Installing WLAN Manager Scheduled Task… Done
Можно заставить скрипт оповещать пользователя о переключении между Wi-Fi и LAN сетью с помощью всплывающего уведомления:
.WLANManager.ps1 -Install:User -BalloonTip:$true
Убедитесь, что в планировщике появилось новое задание WLAN Manager.
Перезагрузите компьютер. После загрузки планировщик запустите скрипт «C:Program FilesWLANManagerWLANManager.ps1», который каждую секунду проверяет сетевые подключения и, если будет обнаружено LAN подключение, все доступные Wi-Fi адаптеры будут отключены. При отключении LAN кабеля, скрипт автоматически включает беспроводные Wi-Fi адаптеры.
Скрипт WLAN Manager корректно работает как на Windows 10, так и в Windows 8.1 и 7.
.WLANManager.ps1 Remove:System
Отключение не-доменных беспроводных сетей с помощью GPO
В групповых политиках есть отдельная настройка, которая позволяет запретить подключение к Wi-Fi сетям, когда компьютер подключен к корпоративной доменной сети через LAN. Эта политика находится в разделе Computer Configuration -> Policies ->Administrative Templates -> Network (Сеть) ->Windows Connection Manager (Диспетчер подключений Windows) и называется «Prohibit connection to non-domain networks when connected to domain authenticated network» (Запретить подключение к сетям без домена при наличии доменной сети).
Политика запрещает компьютерам одновременно подключаться к доменной сети и к сети без домена.
Однако при включении этой политики у вас могут возникнуть проблемы с подключением к Wi-Fi сети, если у вас на компьютере есть дополнительные интерфейсы. Например, loopback интерфейсу или сетевые карты, которые создаются при установке десктопных гипервизоров (VMware Workstation, Hyper-V, VirtualBox и т.д.)
Также в доменной сети вы можете дополнительно запрещать использование Wi-Fi при наличии активного подключении к доменной LAN. Для этого включите политику Minimize the number of simultaneous connections to the Internet or a Windows Domain в разделе Computer Configuration -> Administrative Templates -> Network -> Windows Connection Manager. Включите политику и выберите значение 3=Prevent Wi-Fi when on Ethernet.
Windows 10
Автоматическое отключение Wi-Fi при подключении к Ethernet сети