Mein Unternehmen hat vor kurzem damit begonnen, HP Elitebooks an Mitarbeiter zu verteilen und die früher verwendeten Lenovo ThinkPads zu ersetzen.
Ich versuche, eine Möglichkeit zu finden, um die drahtlose Verbindung zu deaktivieren, wenn festgestellt wird, dass eine Ethernet-Verbindung hergestellt wurde.
Auf meinem ThinkPad war dies so einfach wie das Aufrufen von Access Connections, das Erstellen eines neuen Speicherorts und das Aktivieren des Kontrollkästchens "WLAN deaktivieren, wenn eine LAN-Verbindung erkannt wird". Bei meinem EliteBook (HP Connection Manager) ist dies jedoch nicht der Fall diese Option zu sehen.
Fehlt mir hier etwas?
Wenn Sie sich nur darum kümmern , die richtige Verbindung zu verwenden , sollte Windows theoretisch die Verbindung mit dem niedrigsten metrischen Wert bevorzugen. In den meisten Fällen handelt es sich hierbei um Ihre Kabelverbindung. Wenn Ihre kabelgebundene Verbindung jedoch 100 MBit und Ihre kabellose Verbindung 54 MBit beträgt, erhalten sie denselben Metrikwert.
Um die Kabelverbindung mit einer höheren Priorität zu verbinden, können Sie die folgenden Schritte ausführen ( Quelle und ähnliche Frage ) (Sie haben es nicht gesagt, aber ich nehme Sie an haben Windows 7 oder 8):
Wenn Sie den Adapter selbst ausschalten möchten, um Batteriestrom zu sparen, können Sie verschiedene Optionen verwenden ( Quelle ):
Sie können "Geplante Aufgaben" einrichten, um die drahtlose Verbindung ein- und auszuschalten, wenn die drahtgebundene Verbindung erkannt wird.
C:\Windows\System32\Netsh.exe
interface set interface "Wireless Network Connection" enable
(wobei "Drahtlose Netzwerkverbindung" der Name Ihres drahtlosen Adapters ist, mit den Anführungszeichen )C:\Windows\System32\Netsh.exe
interface set interface "Wireless Network Connection" disable
(wobei "Drahtlose Netzwerkverbindung" der Name Ihres drahtlosen Adapters ist, mit den Anführungszeichen )Dies funktioniert jedoch nur, wenn Ihr Laptop Ereignisse generiert, wenn das Netzwerk angeschlossen und entfernt wird. Dies hängt von den jeweiligen Chips und Treibern ab, die Sie haben. Ich verwende dazu in idealer Weise nur die integrierten Windows-Funktionen. Wenn Sie diese Option nicht verwenden können, stehen Ihnen hier zwei weitere Optionen zur Verfügung.
IntelliAdmin hat ein Blogpost , das ein VBScript beschreibt, das genau das tut, was Sie brauchen. Sie können es über den Link unten in diesem Beitrag herunterladen. Laden Sie "netswitch.dat" herunter und benennen Sie es in "netswitch.vbs" um. Im Startmenü setzen Sie eine Verknüpfung, die zu geht
cscript LOCATION_OF_netswitch.vbs "WIRED NAME" "WIRELESS NAME"
.
Einige Benutzer haben ThinkVantage Access Connections auf Computern anderer Hersteller als Lenovo installiert. Ich füge keinen Link zum Herunterladen hinzu, da die Verwendung auf diese Weise möglicherweise gegen die EULA von Lenovo verstößt. Wenn Sie diese Lizenz gelesen haben und feststellen, dass Sie der Ansicht sind, dass Sie mit dieser Lizenz konform sind, finden Sie den Download-Link oben in meiner Quelle.
HP EliteBook-Laptops verfügen über eine integrierte Funktion zum Deaktivieren der drahtlosen Verbindung, wenn ein Ethernet-Kabel eingesteckt ist. Diese Funktion wird als "LAN/WLAN-Umschaltung" bezeichnet und kann im BIOS/UEFI-Setup umgeschaltet werden.
Die genauen Schritte, die Sie ausführen müssen, können je nach EliteBook-Modell variieren, auf meinem 6930p funktionieren jedoch die folgenden Schritte:
Das sollte den Trick machen. Wenn Sie ein anderes Modell haben (insbesondere wenn es aus einer anderen Generation stammt), lesen Sie die Bedienungsanleitung des Modells.
Beachten Sie, dass Sie, wenn Sie die HP ProtectTools-Software verwenden und das BIOS-Konfigurations-Add-On installiert haben, diese Einstellung auch in Windows umschalten können sollten, aber dennoch einen Neustart durchführen müssen, damit sie wirksam wird.
Alternative PowerShell-Lösung: https://gallery.technet.Microsoft.com/scriptcenter/WLAN-Manager-f438a4d7
WLAN Manager wird als geplante Aufgabe ausgeführt und deaktiviert Ihre WLAN-Karte automatisch, wenn eine LAN-Verbindung überprüft wird. Die WLAN-Karte wird wieder aktiviert, sobald die LAN-Verbindung unterbrochen wird. Dies stellt sicher, dass Sie die schnellste verfügbare Verbindung haben und verhindert Netzwerküberbrückungen.
Originalcode von "substance" bei Microsoft Technet. Zip-Datei
################
# 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
}
}
Mit Hilfe der Antwort von Moshe Katz (danke Moshe Katz!) Habe ich eine maßgeschneiderte Lösung gefunden, die für meine 100 Laptops gut funktioniert.
Speichern Sie den folgenden Text als wifiswitch.bat-Datei unter C:\windows\system32. Stellen Sie sicher, dass die Schnittstellennamen auf dem Laptop mit den Skripten übereinstimmen:
@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%
Jetzt müssen Sie eine Aufgabe unter geplanten Aufgaben erstellen. Sie können meinen Task-XML-Code in XML speichern und dann in den Taskplaner eines Laptops importieren. Vergewissern Sie sich, dass Sie die Quelle auf der Registerkarte Trigger auf diejenige ändern, die zu Ihrem spezifischen Modell gehört :
<?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>
Wenn Sie den Treiber für das Ethernet haben, d. H., Ich verwende Fast-Ethernet-Controller für meinen Samsung-Laptop, dann in der Taskleiste ganz rechts:
Ergebnis: Wenn Sie Ihr Ethernet-Kabel anschließen, wird die drahtlose Verbindung deaktiviert, wobei der Ethernet-Verbindung Vorrang eingeräumt wird.
Drücken Sie beim Booten die Taste F2, um in das BIOS zu gelangen. Gehen Sie zu Power Management. Wählen Sie Wireless Radio Control. Aktivieren Sie Control WLAN Radio und Control WWAN Radio
Wenn diese Funktion aktiviert ist, erkennt sie die Verbindung des Systems mit einem kabelgebundenen Netzwerk und deaktiviert anschließend die ausgewählten Funkgeräte (WLAN und/oder WWAN). Nach dem Trennen der Verbindung zum kabelgebundenen Netzwerk werden die ausgewählten Funkgeräte wieder aktiviert.