web-dev-qa-db-fra.com

Désactiver le sans fil lorsque la connexion Ethernet est détectée sur un HP EliteBook

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?

7
wrigley06

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):

  1. Ouvrez le "Centre réseau et partage". Le plus simple est de cliquer avec le bouton droit sur l'icône "Réseau" à côté de l'horloge. Cela ressemblera aux barres de puissance du signal sans fil ou à un ordinateur avec un câble à côté.
  2. Cliquez sur "Modifier les paramètres de la carte" dans la colonne de gauche.
  3. Dans la barre de menus, cliquez sur "Avancé", puis sur "Paramètres avancés ...". Si vous ne voyez pas la barre de menu, appuyez sur le bouton ALT touche sur votre clavier pour le montrer.
  4. Dans la liste des cartes réseau disponibles, cliquez sur votre carte câblée, puis utilisez les flèches pour la déplacer en haut de la liste.

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.

    1. Recherchez les ID d’événement permettant de débrancher et de rebrancher votre connexion câblée. Pour ce faire, branchez et débranchez le câble plusieurs fois, puis ouvrez "Observateur d'événements" (vous pouvez taper son nom dans le champ de recherche du menu Démarrer) et recherchez les événements générés dans le journal "Système". Notez les valeurs "Source" et "Event ID" pour ces événements.
    2. Ouvrez le "Planificateur de tâches" (à nouveau, vous pouvez simplement taper son nom dans la zone de recherche du menu Démarrer), puis choisir "Créer une tâche de base".
    3. Suivez les instructions pour la création de tâches, en insérant les valeurs suivantes, le cas échéant:
      • Nom - "Activer le Wifi"
      • Quand voulez-vous que la tâche commence? - "Lorsqu'un événement spécifique est enregistré"
      • Log - "Système"
      • Source - Source trouvée à l'étape 1
      • EventID - L'ID d'événement trouvé ci-dessus pour débrancher Ethernet.
      • Programme/script ​​- C:\Windows\System32\Netsh.exe
      • Ajouter arguments - 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 )
    4. Créez une autre tâche de base avec les options suivantes:
      • Nom - "Désactiver le Wifi"
      • Quand voulez-vous que la tâche commence? - "Lorsqu'un événement spécifique est enregistré"
      • Log - "Système"
      • Source - Source trouvée à l'étape 1
      • EventID - L'ID d'événement trouvé ci-dessus pour brancher Ethernet.
      • Programme/script ​​- C:\Windows\System32\Netsh.exe
      • Ajouter arguments - 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 )
    5. Vous devrez peut-être modifier les autorisations que les tâches doivent exécuter. Sinon, netsh dira "L'opération demandée nécessite une élévation (Exécuter en tant qu'administrateur)" et se ferme. Suivez ces étapes pour chacune des tâches que vous venez de créer.
      • Faites un clic droit sur la tâche et choisissez "Propriétés"
      • Cliquez sur "Modifier l'utilisateur ou le groupe ...", tapez "SYSTÈME" dans la zone, puis cliquez sur OK.
      • Cochez "Exécuter avec les privilèges les plus élevés".
      • Cliquez sur OK.

    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.

10
Moshe Katz

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:

  1. Presse F10 pendant le démarrage pour aller à la configuration du BIOS/UEFI.
  2. Accédez à Configuration système → Options de périphérique intégré.
  3. Recherchez l'option "Commutation LAN/WLAN" et sélectionnez le bouton radio "Activé" situé à côté.
  4. Enregistrez les modifications et quittez la configuration BIOS/UEFI pour redémarrer.

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.

7
Indrek

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 
        } 
} 
2
Johan Carlsson

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>&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
LT-

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:

  1. cliquez sur l'icône Ethernet, qui est peut-être juste un E habituellement jaune comme
  2. puis sur la fenêtre pop-up, cliquez sur Connection Manager
  3. puis Options
  4. on option puis cochez/cochez la case pour désactiver la radio sans fil lorsque l'adaptateur Ethernet est disponible

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.

0
Brian Wekesa

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.

0
David Whyte