在 HP EliteBook 上检测到以太网连接时禁用无线

在 HP EliteBook 上检测到以太网连接时禁用无线

我的公司最近开始向员工发放 HP Elitebook,以取代我们以前使用的联想 ThinkPad。

我正在尝试找到一种方法,当检测到以太网连接已建立时禁用无线功能。

在我的 ThinkPad 上,这很简单,只需进入 Access Connections,创建一个新位置,然后选择“检测到 LAN 连接时禁用无线”框即可。然而在我的 EliteBook 上,在 HP 的等效产品(HP Connection Manager)中,我没有看到该选项。

这里我遗漏了什么吗?

答案1

如果你关心的是使用正确的连接,理论上 Windows 应该优先选择最低的连接度量值。通常,这将是您的有线连接。但是,如果您的有线连接是 100 Mbits,而您的无线连接是 54Mbits,它们将接收相同的度量值。

要强制有线连接具有更高的优先级,您可以执行以下步骤(来源, 和类似问题)(您没有说,但我假设您使用的是 Windows 7 或 8):

  1. 打开“网络和共享中心”。最简单的方法是右键单击时钟旁边的“网络”图标。它看起来要么像无线信号强度条,要么像旁边有电缆的计算机。
  2. 单击左栏中的“更改适配器设置”。
  3. 在菜单栏中,单击“高级”,然后单击“高级设置...”。如果您没有看到菜单栏,请按下ALT键盘上的按键来显示它。
  4. 在可用网络适配器列表中,单击您的有线适配器,然后使用箭头将其移动到列表顶部。

如果你确实想关闭适配器本身以节省电池电量,你可以使用以下几种方法(来源):

  • 您可以设置“计划任务”以在检测到有线连接时打开和关闭无线。

    1. 查找拔下并重新插入有线连接的事件 ID。方法是多次插入和拔下电缆,然后打开“事件查看器”(您可以在“开始”菜单搜索框中输入其名称)并在“系统”日志中查找生成的事件。记下这些事件的“来源”和“事件 ID”值。
    2. 打开“任务计划程序”(同样,您只需在开始菜单搜索框中输入其名称),然后选择“创建基本任务”。
    3. 按照任务创建的说明进行操作,并在适当的时候插入以下值:
      • 姓名- “打开 Wifi”
      • 您希望什么时候开始任务?- “当记录特定事件时”
      • 日志- “系统”
      • 来源-您在步骤 1 中找到的来源
      • 事件ID-您在上方找到的事件 ID拔掉以太网
      • 程序/脚本-C:\Windows\System32\Netsh.exe
      • 添加参数- interface set interface "Wireless Network Connection" enable(其中“无线网络连接”是您的无线适配器的名称,带引号
    4. 使用以下选项创建另一个基本任务:
      • 姓名- “关闭 Wifi”
      • 您希望什么时候开始任务?- “当记录特定事件时”
      • 日志- “系统”
      • 来源-您在步骤 1 中找到的来源
      • 事件ID-您在上方找到的事件 ID插入以太网
      • 程序/脚本-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。我没有提供下载链接,因为以这种方式使用它可能会违反联想的 EULA。如果您阅读了该许可证并认为您符合要求,那么您可以在上面的我的来源中找到下载链接。

答案2

HP EliteBook 笔记本电脑具有内置功能,可以在插入以太网电缆时禁用无线连接。该功能称为“LAN/WLAN 切换”,可以在 BIOS/UEFI 设置中切换。

您需要采取的具体步骤可能因您的 EliteBook 型号而异,但在我的 6930p 上,以下步骤有效:

  1. 在启动期间按下F10即可进入 BIOS/UEFI 设置。
  2. 进入系统配置 → 内置设备选项
  3. 找到“LAN/WLAN切换”选项,选择旁边的“已启用”单选按钮
  4. 保存更改并退出 BIOS/UEFI 设置以重新启动

这应该可以解决问题。如果您有其他型号(尤其是不同代产品),请查阅该型号的用户手册。

请注意,如果您使用 HP 的 ProtectTools 软件并且安装了 BIOS 配置插件,那么您也应该能够在 Windows 内部切换此设置,但您仍然必须重新启动才能使其生效。

答案3

备用 PowerShell 解决方案:https://gallery.technet.microsoft.com/scriptcenter/WLAN-Manager-f438a4d7

WLAN 管理器作为计划任务运行,并在验证 LAN 连接后自动禁用您的 WLAN 卡。一旦 LAN 连接丢失,WLAN 卡将重新启用。这可确保您拥有最快的可用连接,并有助于防止网络桥接。

原始代码由 Microsoft Technet 上的“substance”编写。Zip 文件

################ 
# WLAN Manager # 
################ 
#Version: 2015-03-03.2 
#Author: [email protected] 

<# 

.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 
        } 
} 

答案4

启动时按 F2 进入 BIOS。转到电源管理,选择无线电控制,启用控制 WLAN 无线电和控制 WWAN 无线电

如果启用,此功能将检测系统与有线网络的连接,然后禁用所选无线电(WLAN 和/或 WWAN)。断开与有线网络的连接后,将重新启用所选无线电。

相关内容