7

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

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

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

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

6 ответов6

10

Если все, что вас беспокоит, используя правильное соединение, 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. Если вы прочитаете эту лицензию и решите, что считаете ее соответствующей, то вы можете найти ссылку на скачивание в моем источнике выше.

7

Ноутбуки 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, но вам все равно придется перезагрузиться, чтобы он вступил в силу.

2

Альтернативное решение PowerShell: https://gallery.technet.microsoft.com/scriptcenter/WLAN-Manager-f438a4d7

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

Оригинальный код от "вещества" в Microsoft Technet. Почтовый файл

################ 
# 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 
        } 
} 
0

Я придумал индивидуальное решение с помощью ответа Моше Каца (спасибо Моше Кацу!) который хорошо работает для моих 100 ноутбуков.

Сохраните следующий текст как файл wifiswitch.bat в C:\windows\system32. Убедитесь, что имена интерфейсов на ноутбуке соответствуют сценариям:

            @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%

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

            <?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

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

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

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

0

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .