Отключите беспроводную связь при обнаружении подключения к Ethernet на HP EliteBook

118228
wrigley06

Моя компания недавно начала раздавать сотрудникам HP Elitebooks, заменяя используемые ранее Lenovo ThinkPad.

Я пытаюсь найти способ отключить беспроводную связь, когда она обнаруживает, что установлено соединение Ethernet.

На моем ThinkPad это было так же просто, как перейти в Access Connections, создать новое местоположение и выбрать поле с надписью «отключить беспроводную связь при обнаружении подключения к локальной сети», однако на моем EliteBook, в аналоге HP (HP Connection Manager), я не видя этот вариант.

Есть что-то, чего я здесь не хватает?

7
Я написал кое-что, что могло бы вам помочь, я работаю в сценарии, где скрипт не будет работать, и нам нужен был сервис, который настроил бы себя и вроде бы работал, вы можете найти код [здесь] (https: / /github.com/sean-m/wifi-sitter) с помощью упакованного установщика на странице выпусков. Удачи. sean_m 8 лет назад 0

6 ответов на вопрос

10
Moshe Katz

Если все, что вас беспокоит, используя правильное соединение, Windows теоретически должна предпочесть соединение с наименьшим значением метрики . Чаще всего это будет ваше проводное соединение. Однако, если ваше проводное соединение имеет скорость 100 Мбит, а беспроводное соединение - 54 Мбит, они получат одинаковое значение метрики.

Чтобы принудительно установить проводное соединение с более высоким приоритетом, вы можете выполнить следующие действия ( источник и аналогичный вопрос ) (вы не сказали, но я предполагаю, что у вас Windows 7 или 8):

  1. Откройте «Центр управления сетями и общим доступом». Самый простой способ - щелкнуть правой кнопкой мыши значок «Сеть» рядом с часами. Он будет выглядеть как индикатор уровня беспроводной связи или как компьютер с кабелем рядом с ним.
  2. Нажмите «Изменить настройки адаптера» в левом столбце.
  3. В строке меню нажмите «Дополнительно», затем нажмите «Дополнительные настройки ...». Если вы не видите строку меню, нажмите ALTклавишу на клавиатуре, чтобы показать ее.
  4. В списке доступных сетевых адаптеров щелкните свой проводной адаптер и используйте стрелки, чтобы переместить его в начало списка.

Если вы действительно хотите отключить сам адаптер для экономии заряда батареи, вы можете использовать несколько вариантов ( источник ):

  • Вы можете настроить «Запланированные задачи» для включения и выключения беспроводной связи при обнаружении проводного соединения.

    1. Найдите идентификаторы событий для отключения и повторного подключения проводного подключения. Для этого подключите кабель и отсоедините его несколько раз, затем откройте «Просмотр событий» (вы можете ввести его имя в поле поиска меню «Пуск») и найдите сгенерированные события в журнале «Система». Запишите значения «Источник» и «Идентификатор события» для этих событий.
    2. Откройте «Планировщик заданий» (опять же, вы можете просто ввести его имя в поле поиска меню «Пуск») и выбрать «Создать базовое задание».
    3. Следуйте инструкциям для создания задачи, вставляя следующие значения при необходимости:
      • Название - "Включи Wifi"
      • Когда вы хотите, чтобы задача началась? - «Когда регистрируется конкретное событие»
      • Журнал - "Система"
      • Источник - источник, который вы нашли в шаге 1
      • EventID - идентификатор события, который вы нашли выше для отключения Ethernet .
      • Программа / скрипт -C:\Windows\System32\Netsh.exe
      • Добавьте аргументы - interface set interface "Wireless Network Connection" enable(где «Беспроводное сетевое соединение» - это имя вашего беспроводного адаптера с кавычками вокруг него )
    4. Создайте еще одну базовую задачу со следующими параметрами:
      • Название - «Отключить Wi-Fi»
      • Когда вы хотите, чтобы задача началась? - «Когда регистрируется конкретное событие»
      • Журнал - "Система"
      • Источник - источник, который вы нашли в шаге 1
      • EventID - идентификатор события, который вы нашли выше для подключения к Ethernet .
      • Программа / скрипт -C:\Windows\System32\Netsh.exe
      • Добавьте аргументы - interface set interface "Wireless Network Connection" disable(где «Беспроводное сетевое соединение» - это имя вашего беспроводного адаптера с кавычками вокруг него )
    5. Возможно, вам придется изменить разрешения, которые должны выполнять задачи. В противном случае netsh скажет «Запрошенная операция требует повышения прав (запуск от имени администратора)» и выйдет. Выполните эти шаги для каждой из задач, которые вы только что создали.
      • Щелкните правой кнопкой мыши задачу и выберите «Свойства»
      • Нажмите «Изменить пользователя или группу ...», введите «SYSTEM» в поле и нажмите «ОК».
      • Установите флажок «Запускать с самыми высокими привилегиями».
      • Нажмите ОК.

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

  • IntelliAdmin имеет пост в блоге, в котором описывается VBScript, который делает именно то, что вам нужно. Вы можете скачать его по ссылке внизу этого поста. Скачайте "netswitch.dat" и переименуйте его в "netswitch.vbs". В меню «Пуск» поставить ярлык, который идет в

    cscript LOCATION_OF_netswitch.vbs "WIRED NAME" "WIRELESS NAME",

  • Некоторые люди используют ThinkVantage Access Connections, работающие на компьютерах, отличных от Lenovo. Я не включаю ссылку для ее загрузки, поскольку ее использование может нарушать лицензионное соглашение Lenovo. Если вы прочитаете эту лицензию и решите, что считаете ее соответствующей, то вы можете найти ссылку на скачивание в моем источнике выше.

Привет Моше, спасибо за отличный ответ, я действительно ценю это. Я хочу сделать адаптер, и я попытался создать задачи для этого, и хотя программа Netsh запускается сразу после обнаружения или отключения сетевого подключения, ничего не происходит, поэтому я не совсем уверен, что делать дальше. wrigley06 10 лет назад 0
@ wrigley06 Вы уверены, что правильно назвали беспроводную карту? Я видел многих, которые называют это «Беспроводное сетевое соединение», но некоторые просто говорят «Wi-Fi», а другие совершенно разные. Вы можете проверить имя, открыв Командную строку (cmd.exe) и набрав `netsh interface show interface`. Moshe Katz 10 лет назад 0
@ wrigley06 Вам также может понадобиться изменить пользователя, под которым запускается задача. По умолчанию задача, вероятно, выполняется как вы, но только администратор может включать / отключать сетевые интерфейсы. Я обновил ответ с деталями - см. Шаг 5. Moshe Katz 10 лет назад 0
7
Indrek

Ноутбуки HP EliteBook имеют встроенную возможность отключать беспроводное соединение при подключении кабеля Ethernet. Это называется «переключение LAN / WLAN» и может быть переключено в настройках BIOS / UEFI.

Точные шаги, которые нужно предпринять, могут отличаться в зависимости от модели EliteBook, но на моем 6930p работает следующее:

  1. Нажмите F10во время загрузки, чтобы перейти к настройке BIOS / UEFI.
  2. Перейдите в Конфигурация системы → Параметры встроенного устройства.
  3. Найдите параметр «Переключение LAN / WLAN» и установите переключатель «Включено» рядом с ним.
  4. Сохраните изменения и выйдите из BIOS / UEFI для перезагрузки

Это должно делать свое дело. Если у вас другая модель (особенно если она из другого поколения), обратитесь к руководству пользователя модели.

Обратите внимание, что если вы используете программное обеспечение HP ProtectTools и у вас установлена ​​надстройка BIOS Configuration, вы также сможете переключать этот параметр из Windows, но вам все равно придется перезагрузиться, чтобы он вступил в силу.

У Dell E5570 есть то же самое? roel 7 лет назад 0
@roel Извините, не знаю. Если у вас есть этот ноутбук, проверьте настройки BIOS / UEFI. Кроме того, обратитесь к руководству. Indrek 7 лет назад 0
2
Johan Carlsson

Alternate PowerShell solution: https://gallery.technet.microsoft.com/scriptcenter/WLAN-Manager-f438a4d7

WLAN Manager runs as a scheduled task and will automatically disable your WLAN card when a LAN connection is verified. The WLAN card will be re-enabled once the LAN connection is lost. This ensures you'll have the fastest available connection and helps prevent network bridging.

Original code by "substance" at Microsoft Technet. Zip file

################ # WLAN Manager # ################ #Version: 2015-03-03.2 #Author: johan.carlsson@innovatum.se <# .SYNOPSIS Disables the WLAN NIC when LAN NIC network connection is verified. Enables WLAN NIC when LAN NIC network connection is lost. .DESCRIPTION WLAN Manager runs as a scheduled task and will automatically disable your WLAN card when a LAN connection is verified. The WLAN card will be re-enabled once the LAN connection is lost. This ensures you'll always have the fastest available connection and stops network bridging. .EXAMPLE .\WLANManager.ps1 -Install:$true Installs WLAN Manager. .EXAMPLE .\WLANManager.ps1 -Remove:$true Removes WLAN Manager. .EXAMPLE .\WLANManager.ps1 Verify Installaton > Install if missing > Run Interactively (first run only, hidden run via scheduled task run after that). .EXAMPLE .\WLANManager.ps1 -Interactive:$true Runs WLAN Manager in an interactive window. Will not install anything. This mode is only for testing and watching what happens via console output. .NOTES None. .LINK https://support.innovatum.se #> [CmdletBinding()] Param ( [Parameter(Mandatory=$False,Position=1,HelpMessage="Installs WLAN Manager.")] [switch]$Install, [Parameter(Mandatory=$False,Position=2,HelpMessage="Removes WLAN Manager.")] [switch]$Remove, [Parameter(Mandatory=$False,Position=3,HelpMessage="Runs WLAN Manager interactively, doesn't install anything.")] [switch]$Interactive ) ######################################### # Custom Variables for Your Environment # ######################################### #Destination Path to where you want to store files for local install of WLANManager $CustomDestinationPath = "$env:ProgramFiles\WLANManager" <# D O N O T C H A N G E A N Y T H I N G B E L O W T H I S L I N E #> ################################# # Unload/Load PowerShell Module # ################################# #Remove PowerShell Module If ((Get-Module PSModule-WLANManager) -ne $null) { Remove-Module PSModule-WLANManager -Verbose } #Import PowerShell Module $strBasePath = Split-Path -Path $MyInvocation.InvocationName Import-Module "$strBasePath\PSModule-WLANManager.psm1" -Verbose ############################# # Install or Update Install # ############################# If ($Remove -eq $true) { Remove-WLANManager -FilePath $CustomDestinationPath return } ElseIf ((Test-Path -Path $strBasePath) -eq $True -and ($Interactive) -ne $true) { #Install Install-WLANManager -SourcePath $strBasePath -DestinationPath $CustomDestinationPath If ($Install -eq $true) { #≥Windows 8 If ($OSInfo.Caption -match "Windows 8") { Start-ScheduledTask -TaskName "WLAN Manager" Exit } #<Windows 8 Else { Start-STask -TaskName "WLAN Manager" | Out-Null Exit } } } ######## # Main # ######## while ($true) { If ((Test-WiredConnection) -eq $true -and (Test-WirelessConnection) -eq $true) { Write-Host "Wired connection detected, disabling Wireless connection... " -NoNewline -ForegroundColor Yellow #≥Windows 8 If ($OSInfo.Caption -match "Windows 8") { Disable-NetAdapter -InterfaceDescription *Wireless* -Confirm:$false } #<Windows 8 Else { Disable-WLANAdapter | Out-Null } Write-Host "Done" -ForegroundColor White -BackgroundColor Green } If ((Test-WiredConnection) -eq $false -and (Test-WirelessConnection) -eq $false) { Write-Host "Wired connection lost, enabling Wireless connection... " -NoNewline -ForegroundColor Yellow #≥Windows 8 If ($OSInfo.Caption -match "Windows 8") { Enable-NetAdapter -InterfaceDescription *Wireless* -Confirm:$false } #<Windows 8 Else { Enable-WLANAdapter | Out-Null } #Wait for WLAN Adapter to initialize and obtain an IP-address while ((Test-WiredConnection) -eq $false -and (Test-WirelessConnection) -eq $false) { sleep -Seconds 1 } Write-Host "Done" -ForegroundColor White -BackgroundColor Green } Else { Write-Host "Sleeping..." -ForegroundColor Yellow sleep -Seconds 1 } } 
Привет, Йохан, @tog расширил ответ, чтобы соответствовать требованиям, так как сейчас (снова) он, вероятно, будет удален. Ответы, содержащие только ссылки, могут стать недействительными в случае изменения связанной страницы. Пожалуйста, посмотрите здесь: [Почему и как удаляются некоторые ответы?] (Http://superuser.com/help/deleted-answers) bummi 9 лет назад 0
Можете ли вы объяснить, почему вы отменили правку, расширив ответ? bwDraco 9 лет назад 0
0
LT-

I came up with a custom solution with the help of Moshe Katz answer (thanks Moshe Katz!) which works well for my 100 laptops.

Save the following text as wifiswitch.bat file under C:\windows\system32. Make sure to check the interface names on the laptop matches the scripts:

 @echo off Title Wifi Lan Switcher set a=0 :loop netsh interface show interface name="Local Area Connection" | find /i "disconnected" > NUL 2>&1 IF ERRORLEVEL 1 ( netsh interface show interface name="Wireless Network Connection" | find /i "disabled" > NUL 2>&1 IF ERRORLEVEL 1 ( netsh interface set interface name="Wireless Network Connection" disable > NUL 2>&1 set error=%errorlevel% ping -n 5 127.0.0.1 >nul ) ) netsh interface show interface name="Local Area Connection" | find /i "disconnected" > NUL 2>&1 IF NOT ERRORLEVEL 1 ( netsh interface show interface name="Wireless Network Connection" | find /i "enabled" > NUL 2>&1 IF ERRORLEVEL 1 ( netsh interface set interface name="Wireless Network Connection" enable > NUL 2>&1 set error=%errorlevel% ping -n 5 127.0.0.1 >nul ) ) set /a a+=1 echo. echo %a% ping -n 3 127.0.0.1 >nul if %a% equ 5 goto :eof goto :loop :eof echo. echo. set a= exit /b %error% 

Now, you will need to create one task under scheduled tasks. You can save my task xml code in .xml and and then import it to a laptop's task scheduler. Make sure to change the source under Triggers tab to the one that belongs to your specific model:

 <?xml version="1.0" encoding="UTF-16"?> <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> <RegistrationInfo> <Date>2014-07-07T09:36:51.4300545</Date> <Author>%username%</Author> </RegistrationInfo> <Triggers> <EventTrigger> <Enabled>true</Enabled> <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="System"&gt;&lt;Select Path="System"&gt;*[System[Provider[@Name='e1cexpress']]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription> </EventTrigger> <BootTrigger> <Enabled>true</Enabled> <Delay>PT1M</Delay> </BootTrigger> <RegistrationTrigger> <Enabled>true</Enabled> </RegistrationTrigger> </Triggers> <Principals> <Principal id="Author"> <UserId>S-1-5-18</UserId> <RunLevel>HighestAvailable</RunLevel> </Principal> </Principals> <Settings> <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries> <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries> <AllowHardTerminate>true</AllowHardTerminate> <StartWhenAvailable>true</StartWhenAvailable> <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> <IdleSettings> <StopOnIdleEnd>true</StopOnIdleEnd> <RestartOnIdle>false</RestartOnIdle> </IdleSettings> <AllowStartOnDemand>true</AllowStartOnDemand> <Enabled>true</Enabled> <Hidden>false</Hidden> <RunOnlyIfIdle>false</RunOnlyIfIdle> <WakeToRun>false</WakeToRun> <ExecutionTimeLimit>PT1H</ExecutionTimeLimit> <Priority>7</Priority> <RestartOnFailure> <Interval>PT1M</Interval> <Count>3</Count> </RestartOnFailure> </Settings> <Actions Context="Author"> <Exec> <Command>%windir%\System32\WifiSwitch.bat</Command> <WorkingDirectory>%windir%\system32</WorkingDirectory> </Exec> </Actions> </Task> 
0
David Whyte

Нажмите F2 при загрузке, чтобы попасть в биос. Перейдите в Управление питанием. Выберите «Беспроводное радиоуправление». «Включить контроль радио WLAN» и «Управление радио WWAN».

Если включено, эта функция будет определять подключение системы к проводной сети и впоследствии отключать выбранные беспроводные радиостанции (WLAN и / или WWAN). При отключении от проводной сети выбранные беспроводные радиостанции будут повторно включены.

0
Brian Wekesa

Если у вас есть драйвер для Ethernet, т. Е. Я использую быстрый Ethernet-контроллер для своего ноутбука Samsung, то на панели задач в самом правом углу:

  1. щелкните значок Ethernet, который, возможно, просто E обычно желтый, как
  2. затем во всплывающем окне нажмите Диспетчер подключений
  3. тогда Варианты
  4. включите опцию, затем установите / снимите флажок для отключения беспроводной радиосвязи, пока доступен адаптер Ethernet

Результат: всякий раз, когда вы подключаете кабель Ethernet, беспроводное соединение будет отключено, отдавая приоритет подключению Ethernet.

Это плохо написано, но это правильное решение в Windows 10, и не дублирует любой существующий ответ. music2myear 6 лет назад 1