質問: hp elitebookでイーサネット接続が検出されたときにワイヤレスを無効にする 私の会社は最近、従業員にhp elitebooksを配り始めました。これは、以前使用していたlenovo thinkpadsに代わるものです。イーサネット接続が確立されたことを検出したときにワイヤレスを無効にする方法を見つけようとしています。私のthinkpadでは、これはaccess connectionsに移動して新しい場所を作成し、「lan接続が検出されたときにワイヤレスを無効にする」というボックスを選択するのと同じくらい簡単でしたが、私のelitebookでは、hpの同等(hp connection manager)では、そのオプションを見て。ここで見逃しているものはありますか?
回答: 代替powershellソリューション: https://gallery.technet.microsoft.com/scriptcenter/wlan-manager-f438a4d7 wlan managerはスケジュールされたタスクとして実行され、lan接続が確認されるとwlanカードを自動的に無効にします。 lan接続が失われると、wlanカードは再度有効になります。これにより、利用可能な最速の接続が確保され、ネットワークブリッジの防止に役立ちます。 microsoft technetの「substance」によるオリジナルコード。 zipファイル ################ # 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 } }