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

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

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

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

ありがとう。

答え1

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

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

    netsh wlan show profiles
    

    1

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

    netsh wlan set profileorder name="w1r3l3$$" interface="Wi-Fi" priority=1
    
  3. 再度実行すると、netsh wlan show profiles変更された順序が表示されます。

ソース

当然ながら、このばかげた欠落を克服するためにGUIを作った人もいるので、次のようなものを使うことができます。WiFi プロファイル マネージャー 8その代わり:

2

答え2

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

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

関連情報