web-dev-qa-db-ja.com

Windows 8.1でWiFiネットワークの順序を変更して、相互に優先するようにするにはどうすればよいですか?

Mac OS Xでは、記憶されているワイヤレスネットワークをリストの上下に移動して、それらの順序を変更できます。これにより、最初に接続するWiFiネットワークが変わります。

Windows8.1で同等の設定が見つからないようです。特定のネットワークを別のネットワークよりも優先するように設定を変更するにはどうすればよいですか?

ありがとう。

1
phocks

Windows 8には、これを行うためのGUIの方法がありません。これは残念なことです。

  1. 管理者特権(admin)コマンドで、次のコマンドを実行して、使用可能なワイヤレスネットワークとその現在の優先順位を確認します。

    netsh wlan show profiles
    

    1

  2. インターフェイスとワイヤレスネットワークの名前をメモし、次のコマンドを使用して後者の優先度を変更します。

    netsh wlan set profileorder name="w1r3l3$$" interface="Wi-Fi" priority=1
    
  3. ランニング netsh wlan show profiles再び変更された順序が表示されます。

ソース

当然のことながら、人々はこのばかげた省略を克服するためにGUIを作成しているので、代わりに WiFi Profile Manager 8 のようなものを使用できます。

2

4
Karan

ユーザーがメモ帳を使用してこれを編集できるようにするスクリプトを作成しました。

# Prioritize WLAN networks

# Prepare the temporary file
$tempfile = "$($Env:Temp)\wifiprio.txt"
Set-Content -Path $tempfile -encoding UTF8 @"
# Edit (re-arrange) the list of networks, putting the highest priority at the top.
# Empty lines and lines starting with # will be ignored.
#
"@

# Add the network list to the file
& netsh wlan show profiles | Where-Object {$_ -match(":")} | ForEach-Object {(($_.split(":"))[1]).trim()} | Out-File $tempfile -encoding UTF8 -Append

# Allow the user to edit the list
Start-Process -FilePath "notepad.exe" -ArgumentList $tempfile -PassThru -Wait

# Get the edited list
$networks = Get-Content $tempfile | Where-Object {$_ -notmatch "^\s*#"} | Where-Object {$_ -notmatch "^\s*$"}

# Clean up
Remove-Item $tempfile 

# Set priority according to the edited list
$priority = 1
ForEach ($network in $networks)
{
    & netsh wlan set profileorder name="$($network)" interface="Wi-Fi" priority=$priority
    $priority += 1
}
1
Klaus Bech