Автоматическое отключение Wi-Fi при подключении к Ethernet сети

Автоматическое отключение 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).

LAN/WLAN Switching

Данный функционал может называться по-другому или совсем отсутствовать в BIOS/UEFI других производителей.

Отключить Wi-Fi после установки проводного подключения с помощью драйвера

В настройках драйвера некоторых Wi-Fi адаптеров есть опция, позволяющая автоматически отключать Wi-Fi адаптер при наличии скоростного Ethernet подключения.

Откройте диспетчер устройства Windows (
devmgmt.msc
), найдите ваш Wireless сетевой адаптер в секции Network adapters и откройте его свойства. Перейдите на вкладку Advanced.

В списке опций Wi-Fi адаптера найдите пункт «Отключить после установления проводного соединения / Disabled Upon Wired Connect». Измените значение опции на Включено и сохраните изменения.

Отключить после установления проводного соединения

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

включить службу Wired AutoConfig 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 кабеля.

eventid 15500: событие отключение сетевого кабеля в windows

В предыдущих версиях 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.

Get-NetAdapter список сетевых адаптеров

Щелкните по событию 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}

запустить скрипт через планировщик задач windows

Аналогичным образом создайте еще одно задание планировщика для события 15500.

  1. Укажите имя EnableWiFi_if_Ethernet_Disconnected-15500
  2. Задайте следующий код:
    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).

отключить wifi адаптер при подключении ethernet кабеля

При отключении 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).

WLANManager скрипт Powershell

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.

WLAN Manager - скрипт для автоматического отключения WiFI при Ethernet подключении

Перезагрузите компьютер. После загрузки планировщик запустите скрипт «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.

параметр GPO позволяет отключить wifi при подключении к корпоративной сети через ethernet

Windows 10
Автоматическое отключение Wi-Fi при подключении к Ethernet сети