Mon entreprise a récemment commencé à distribuer des HP Elitebooks à ses employés, en remplacement des Lenovo ThinkPads que nous utilisions auparavant.
J'essaie de trouver un moyen de désactiver le réseau sans fil lorsqu'il détecte qu'une connexion Ethernet a été établie.
Sur mon ThinkPad, cela était aussi simple que d'aller dans Access Connections, créer un nouvel emplacement et sélectionner la case "Désactiver la connexion sans fil en cas de détection d'une connexion LAN", mais sur mon EliteBook, dans l'équivalent HP (HP Connection Manager), je ne le suis pas. voir cette option.
Y a-t-il quelque chose qui me manque ici?
Si tout ce qui vous préoccupe avec la bonne connexion, Windows devrait théoriquement préférer la connexion avec la plus petite valeur valeur métrique . Le plus souvent, ce sera votre connexion filaire. Toutefois, si votre connexion filaire est de 100 Mbits et votre connexion sans fil de 54 Mbits, ils recevront la même valeur métrique.
Pour forcer la connexion filaire à une priorité plus élevée, vous pouvez effectuer les étapes suivantes ( source , et question similaire ) (vous n'avez pas dit, mais je suppose que vous sous Windows 7 ou 8):
Si vous souhaitez réellement éteindre l'adaptateur pour économiser la batterie, vous pouvez utiliser plusieurs options ( source ):
Vous pouvez configurer des "tâches programmées" pour activer et désactiver le sans fil lorsque la connexion filaire est détectée.
C:\Windows\System32\Netsh.exe
interface set interface "Wireless Network Connection" enable
(où "Connexion réseau sans fil" est le nom de votre adaptateur sans fil, avec les guillemets autour de celle-ci )C:\Windows\System32\Netsh.exe
interface set interface "Wireless Network Connection" disable
(où "Connexion réseau sans fil" est le nom de votre adaptateur sans fil, avec les guillemets autour de celle-ci )Toutefois, cela ne fonctionnera que si votre ordinateur portable génère des événements lorsque le réseau est branché et supprimé. Cela dépendra des puces et des pilotes que vous possédez. Bien que l’utilisation idéale des fonctionnalités Windows soit la meilleure solution, voici deux autres options si vous ne pouvez pas utiliser celle-ci.
IntelliAdmin a un article de blog qui décrit un script VBScript qui répond exactement à vos besoins. Vous pouvez le télécharger à partir du lien au bas de ce post. Téléchargez "netswitch.dat" et renommez-le "netswitch.vbs". Dans votre menu Démarrer, mettez un raccourci qui va à
cscript LOCATION_OF_netswitch.vbs "WIRED NAME" "WIRELESS NAME"
.
Certaines personnes ont eu ThinkVantage Access Connections fonctionnant sur des ordinateurs non Lenovo. Je n'inclus pas de lien pour le télécharger, car son utilisation de cette manière peut constituer une violation du CLUF de Lenovo. Si vous lisez cette licence et décidez que vous pensez être en conformité, vous pouvez trouver le lien de téléchargement dans mon source, ci-dessus.
Les ordinateurs portables HP EliteBook ont la capacité intégrée de désactiver la connexion sans fil lorsqu'un câble Ethernet est branché. C'est ce qu'on appelle la "commutation LAN/WLAN" et peut être basculé dans la configuration BIOS/UEFI.
Les étapes exactes à suivre peuvent varier en fonction du modèle de votre EliteBook, mais sur mon 6930p, les travaux suivants:
Cela devrait faire l'affaire. Si vous avez un modèle différent (en particulier s'il s'agit d'une génération différente), consultez le manuel d'utilisation du modèle.
Notez que si vous utilisez le logiciel ProtectTools de HP et que le module complémentaire de configuration du BIOS est installé, vous devriez également être en mesure de basculer ce paramètre à partir de Windows, mais vous devrez quand même redémarrer pour que les modifications prennent effet.
Autre solution PowerShell: https://gallery.technet.Microsoft.com/scriptcenter/WLAN-Manager-f438a4d7
WLAN Manager s'exécute en tant que tâche planifiée et désactive automatiquement votre carte WLAN lors de la vérification d'une connexion LAN. La carte WLAN sera réactivée une fois la connexion LAN perdue. Cela garantit que vous disposerez de la connexion disponible la plus rapide et empêchera les ponts réseau.
Code original par "substance" chez Microsoft Technet. Fichier 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
}
}
Je suis venu avec une solution personnalisée avec l'aide de Moshe Katz répondre (merci Moshe Katz!) Qui fonctionne bien pour mes 100 ordinateurs portables.
Enregistrez le texte suivant en tant que fichier wifiswitch.bat sous C:\windows\system32. Assurez-vous de vérifier que les noms d'interface de l'ordinateur portable correspondent aux 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%
Maintenant, vous devrez créer une tâche sous les tâches planifiées. Vous pouvez enregistrer mon code XML de tâche au format .xml, puis l’importer dans le planificateur de tâches d’un ordinateur portable. Assurez-vous de changer la source sous l'onglet Déclencheurs pour celle qui appartient à votre modèle spécifique :
<?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><QueryList><Query Id="0" Path="System"><Select Path="System">*[System[Provider[@Name='e1cexpress']]]</Select></Query></QueryList></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>
Si vous avez le pilote pour Ethernet, c’est-à-dire que j’utilise un contrôleur Fast Ethernet pour mon ordinateur portable Samsung, puis sur la barre des tâches située dans le coin le plus à droite:
Résultat: chaque fois que vous connectez votre câble Ethernet, la connexion sans fil est désactivée, ce qui donne la priorité à la connexion Ethernet.
Appuyez sur F2 au démarrage pour accéder au Bios. Sélectionnez Gestion de l’alimentation, sélectionnez Contrôle radio sans fil, activez Contrôle radio WLAN et Contrôle radio WWAN.
Si Activé, cette fonction détectera la connexion du système à un réseau câblé et désactivera ensuite les radios sans fil sélectionnées (WLAN et/ou WWAN). Lors de la déconnexion du réseau filaire, les radios sans fil sélectionnées seront réactivées.