Bir HP EliteBook'ta ethernet bağlantısı tespit edildiğinde kablosuz özelliğini devre dışı bırakın


7

Şirketim, son zamanlarda kullandığımız Lenovo ThinkPad'leri değiştirerek çalışanlara HP Elitebook'ları dağıtmaya başladı.

Bir Ethernet bağlantısının yapıldığını algıladığında, kablosuz bağlantıyı devre dışı bırakmanın bir yolunu bulmaya çalışıyorum.

ThinkPad'imde bu, Access Connections'a girmek, yeni bir konum oluşturmak ve 'LAN bağlantısı algılandığında kablosuzyı devre dışı bırak' yazan kutuyu seçmek kadar kolaydı, ancak EliteBook'umda, HP'nin eşdeğeri (HP Connection Manager), bu seçeneği görmek.

Burada özlediğim bir şey var mı?


Size yardımcı olabilecek bir şey yazdım, bir betiğin işe yaramayacağı bir senaryoda çalışıyorum ve kendi kendine kurulacak bir hizmete ihtiyacımız vardı ve bir nevi işe yarayabilir, kodu burada paketlenmiş bir yükleyici ile bulabilirsiniz. bültenleri sayfası. İyi şanslar.
sean_m

Yanıtlar:


10

Doğru bağlantıyı kullanmakla ilgili endişeleriniz varsa , Windows teorik olarak en düşük metrik değere sahip bağlantıyı tercih etmelidir . Çoğu zaman, bu sizin kablolu bağlantınız olacaktır. Ancak, kablolu bağlantınız 100 Mbits ve kablosuz bağlantınız 54Mbit ise, aynı ölçüm değerini alırlar.

Kablolu bağlantıyı daha yüksek bir önceliğe zorlamak için, aşağıdaki adımları uygulayabilirsiniz ( kaynak ve benzeri bir soru ) (söylemediniz, ancak Windows 7 veya 8'e sahip olduğunuzu farz ediyorum):

  1. "Ağ ve Paylaşım Merkezi" ni açın. En kolay yol, saatin yanındaki "Ağ" simgesini sağ tıklamaktır. Kablosuz sinyal gücü çubukları gibi görünecek veya yanına kablolu bir bilgisayar gibi görünecektir.
  2. Sol sütundaki "Adaptör Ayarlarını Değiştir" i tıklayın.
  3. Menü çubuğunda "Gelişmiş" i ve ardından "Gelişmiş Ayarlar ..." ı tıklayın. Menü çubuğunu görmüyorsanız, ALTgöstermek için klavyenizdeki tuşa basın .
  4. Kullanılabilir ağ adaptörleri listesinde, kablolu adaptörünüzü tıklayın ve listeyi en üste taşımak için okları kullanın.

Pil gücünden tasarruf etmek için adaptörün kendisini gerçekten kapatmak istiyorsanız, kullanabileceğiniz birkaç seçenek vardır ( kaynak ):

  • Kablolu bağlantı algılandığında telsizi açıp kapatmak için "Zamanlanmış Görevler" ayarlayabilirsiniz.

    1. Kablolu bağlantınızı çıkarmak ve çıkarmak için Etkinlik Kimliklerini bulun. Kabloyu birkaç kez tekrar takarak ve tekrar çekerek, ardından "Olay Görüntüleyicisi" ni (Başlat Menüsü arama kutusuna adını yazabilirsiniz) açıp "Sistem" günlüğünde oluşturulan olayları arayarak bunu yapın. Bu olaylar için "Kaynak" ve "Olay Kimliği" değerlerini yazın.
    2. "Görev Zamanlayıcı" yı açın (yine, adını Başlat Menüsü arama kutusuna yazabilirsiniz) ve "Temel Görev Oluştur" u seçin.
    3. Uygun olduğunda aşağıdaki değerleri ekleyerek Görev oluşturma talimatlarını izleyin:
      • Adı - "Wifi'ı Aç"
      • Görevin ne zaman başlamasını istersin? - "Belirli bir etkinlik kaydedildiğinde"
      • Günlük - "Sistem"
      • Kaynak - 1. adımda bulduğunuz kaynak
      • EventID - Ethernet'i çıkarmak için yukarıda bulduğun Olay Kimliği .
      • Program / komut dosyası -C:\Windows\System32\Netsh.exe
      • interface set interface "Wireless Network Connection" enableBağımsız değişkenler ekleyin - ("Kablosuz Ağ Bağlantısı", kablosuz bağdaştırıcınızın adı ve tırnak içinde )
    4. Aşağıdaki seçeneklerle başka bir Temel Görev oluşturun:
      • Adı - "Wifi'ı Kapat"
      • Görevin ne zaman başlamasını istersin? - "Belirli bir etkinlik kaydedildiğinde"
      • Günlük - "Sistem"
      • Kaynak - 1. adımda bulduğunuz kaynak
      • EventID - Ethernet'e bağlamak için yukarıda bulduğunuz Olay Kimliği .
      • Program / komut dosyası -C:\Windows\System32\Netsh.exe
      • interface set interface "Wireless Network Connection" disableBağımsız değişkenler ekleyin - ("Kablosuz Ağ Bağlantısı", kablosuz bağdaştırıcınızın adı ve tırnak içinde )
    5. Görevlerin çalıştırması gereken izinleri değiştirmeniz gerekebilir. Aksi takdirde, netsh "İstenen işlem yükseklik gerektiriyor (Yönetici olarak çalıştır)" diyecek ve çıkacaktır. Yeni oluşturduğunuz görevlerin her biri için bu adımları uygulayın.
      • Görevi sağ tıklayın ve "Özellikler" i seçin
      • "Kullanıcı veya Grubu Değiştir ..." seçeneğini tıklayın, kutuya "SYSTEM" yazın ve Tamam'ı tıklayın.
      • "En yüksek ayrıcalıklarla çalıştır" seçeneğini işaretleyin.
      • Tamam'a tıklayın.

    Ancak, bu yalnızca dizüstü bilgisayarınız ağ takılı ve çıkarılmış durumdaysa olay oluşturursa çalışır. Bu, sahip olduğunuz belirli yongalara ve sürücülere bağlı olacaktır. Yalnızca yerleşik Windows özelliklerini kullanmak, bunu yapmam için ideal bir yol olsa da, bunu kullanamıyorsanız iki seçenek daha var.

  • IntelliAdmin'in tam olarak ihtiyacınız olanı yapan bir VBScript'i tanımlayan bir blog yazısı vardır. Bu yazının altındaki linkten indirebilirsiniz. "Netswitch.dat" dosyasını indirin ve "netswitch.vbs" olarak yeniden adlandırın. Başlat menüsünde, giden bir kısayol koy

    cscript LOCATION_OF_netswitch.vbs "WIRED NAME" "WIRELESS NAME".

  • Bazı insanlar Lenovo dışı bilgisayarlarda çalışan ThinkVantage Access Connections'ı edinmiştir. İndirmek için bir bağlantı eklemiyorum, çünkü bu şekilde kullanmak Lenovo'nun EULA'sını ihlal edebilir. Bu lisansı okuyup uyumlu olduğunuzu düşündüğünüze karar verirseniz, indirme bağlantısını kaynağımda yukarıda bulabilirsiniz.


Moshe, mükemmel tepki için teşekkür ederim, gerçekten minnettarım. Bağdaştırıcıyı açmak istediğim şey ve bu işlemi gerçekleştirmek için görevler oluşturmayı denedim ve Netsh programı bir LAN bağlantısı tespit edildikten veya bağlantısı kesildikten hemen sonra çalışırken hiçbir şey olmuyor, bu yüzden ne yapacağımı tam olarak bilemiyorum.
wrigley06

@ wrigley06 Kablosuz kartın adını doğru aldığınızdan emin misiniz? Buna "Kablosuz Ağ Bağlantısı" diyen birçok kişi gördüm, ancak bazıları sadece "Wi-Fi" diyor, bazıları ise tamamen farklı. Bir Komut İstemi (cmd.exe) açıp yazarak adı kontrol edebilirsiniz netsh interface show interface.
Moshe Katz

@ wrigley06 Ayrıca görevin hangi kullanıcı olarak çalıştığını da değiştirmeniz gerekebilir. Varsayılan olarak, görev muhtemelen sizin gibi çalışır, ancak yalnızca bir yönetici ağ arabirimlerini etkinleştirebilir / devre dışı bırakabilir. Cevabı ayrıntılarla güncelledim - 5. adıma bakın.
Moshe Katz

7

HP EliteBook dizüstü bilgisayarlarda, bir Ethernet kablosu takılıyken kablosuz bağlantıyı devre dışı bırakmak için yerleşik bir yetenek bulunur. Buna "LAN / WLAN değiştirme" denir ve BIOS / UEFI kurulumunda değiştirilebilir.

Yapmanız gereken tam adımlar EliteBook modelinize bağlı olarak değişebilir, ancak 6930p'imde aşağıdaki işler olabilir:

  1. F10BIOS / UEFI kurulumuna gitmek için önyükleme sırasında basın .
  2. Sistem Konfigürasyonu → Dahili Aygıt Seçenekleri seçeneğine gidin.
  3. "LAN / WLAN Değiştirme" seçeneğini bulun ve yanındaki "Etkin" radyo düğmesini seçin
  4. Değişiklikleri kaydedin ve yeniden başlatmak için BIOS / UEFI kurulumundan çıkın

Bu hile yapmalı. Farklı bir modeliniz varsa (özellikle farklı bir nesilden geliyorsa), modelin kullanım kılavuzuna bakın.

HP'nin ProtectTools yazılımını kullanıyorsanız ve BIOS Yapılandırma eklentisi yüklüyse, bu ayarı Windows içinden de değiştirebilmeniz gerektiğini, ancak etkin olması için yeniden başlatmanız gerekeceğini unutmayın.


dell e5570 aynı mıdır?
Roel

@roel Üzgünüm, hiçbir fikrim yok. Dizüstü bilgisayarınız varsa, BIOS / UEFI ayarlarını kontrol edin. Alternatif olarak, kılavuza bakın.
Indrek

2

Alternatif PowerShell çözümü: https://gallery.technet.microsoft.com/scriptcenter/WLAN-Manager-f438a4d7

WLAN Yöneticisi zamanlanmış bir görev olarak çalışır ve bir LAN bağlantısı doğrulandığında WLAN kartınızı otomatik olarak devre dışı bırakır. LAN bağlantısı kaybolduğunda WLAN kartı yeniden etkinleştirilecektir. Bu, mümkün olan en hızlı bağlantıya sahip olmanızı sağlar ve ağ köprüsünü önlemeye yardımcı olur.

Microsoft Technet'te "madde" ile orijinal kod. Sıkıştırılmış dosya

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

Merhaba Johan, @tog, gerekleri yerine getirecek yanıtı genişletti, şimdi olduğu gibi (tekrar) muhtemelen silinecek. Bağlantılı sayfa değişirse, yalnızca bağlantı yanıtları geçersiz olabilir. Lütfen buraya bir göz atın: Neden ve nasıl bazı cevaplar silinir?
bummi

Cevabı genişleten düzenlemeyi neden tersine çevirdiğinizi açıklayabilir misiniz?
bwDraco

0

100 dizüstü bilgisayarım için iyi çalışan Moshe Katz cevabının (teşekkürler Moshe Katz!) Yardımıyla özel bir çözüm buldum.

Aşağıdaki metni C: \ windows \ system32 altında wifiswitch.bat dosyası olarak kaydedin. Dizüstü bilgisayardaki arayüz adlarının komut dosyalarıyla eşleştiğinden emin olun:

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

Şimdi, zamanlanmış görevler altında bir görev oluşturmanız gerekecektir. Görev xml kodumu .xml içine kaydedebilir ve ardından bir dizüstü bilgisayarın görev zamanlayıcısına alabilirsiniz. Tetikleyiciler sekmesi altındaki kaynağı kendi modelinize ait olana çevirdiğinizden emin olun :

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

Bios'a girmek için açılışta F2 tuşuna basın. Güç Yönetimi'ne gidin Kablosuz Radyo Kontrolü'nü seçin Kontrolü WLAN radyoyu etkinleştirin ve WWAN radyoyu kontrol edin

Etkinse, bu özellik sistemin kablolu bir ağa bağlantısını algılar ve ardından seçilen kablosuz radyoları (WLAN ve / veya WWAN) devre dışı bırakır. Kablolu ağ bağlantısı kesildiğinde, seçilen kablosuz telsizler yeniden etkinleştirilecektir.


0

Ethernet sürücünüz varsa, yani Samsung dizüstü bilgisayarım için hızlı Ethernet denetleyicisini kullanıyorum, ardından en sağ köşedeki görev çubuğunda:

  1. muhtemelen sadece sarı gibi bir E olan Ethernet simgesine tıklayın
  2. daha sonra açılan pencerede Bağlantı Yöneticisi'ni tıklayın.
  3. sonra Seçenekler
  4. Ethernet adaptör kullanılabilir durumdayken kablosuz radyoyu devre dışı bırakmak için onay kutusunu işaretleyin / işaretleyin

Sonuç: Ethernet kablosunu her bağladığınızda, Ethernet bağlantısına öncelik vererek kablosuz bağlantı devre dışı bırakılır.


1
Bu kötü yazılmış, ancak Windows 10'da doğru bir çözümdür ve varolan bir cevabı çoğaltmaz.
music2myear
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.