windowsでWi-Fi接続の優先順位を変更する

今回は、Windowsでwifi接続の優先順位を編集する方法についてわかりやすく説明していきます。

最近、Windowsマシンで開発を行う機会があり、WiFi関連の設定など色々なWindowsのセットアップをしていたのですが、、、
Windowsには(windows10には)Wi-Fiの優先順位の設定が無い!ということを初めて知りました。

そこで、WindowsでWi-Fi接続の優先順位を変更する方法を書き留めておきます。

Wi-Fiの接続優先順位とは

まずはじめに、Wi-Fiの接続優先順位についてざっくり説明しておきます。

例えば、あたなのノートパソコンは普段は自宅の Wi-Fiルーターに接続しているとします。
外出先でのノートパソコンの使用では、手持ちのスマートフォンのテザリング機能を用いてネットワークに接続するとします。

では、自宅でWi-Fiルーターとスマートフォンのテザリングの両方が使用できる環境では、ノートパソコンはどちらのネットワークに接続するでしょうか?

このように、「複数の利用可能なネットワークが検出された際にどのネットワークに優先的に接続するか」を決めるために、パソコンの内部では接続の優先順位が設定されており、接続の優先順位の高いネットワークに優先的に接続するという機能を持っています。

WindowsにはWi-Fi接続の優先順位を並べ換える設定が無い!

私もこの事を知った時は目を疑ったのですが、Windowsには(windows10には)Wi-Fi接続の優先順位を並べ換える設定がありません

Windowsで現在記憶しているネットワークの一覧は、
[設定] → [ネットワークとインターネット] → [Wi-Fi] → [基地のネットワークの管理]
のと進むことで閲覧することができます。

この画面に「Wi-Fiの接続優先順位を並べ換える」というボタンがあってもおかしくはないのですが、、、
諦めましょう。無いです。(10分間windowsの設定項目を探し回った私の時間を返してください。)

windowsでは、Wi-Fiの接続優先順位は過去の接続状況などからwindowsが勝手に判断するらしいです。

でもでも過去に使ったことがあるからといって、スマートフォンのテザリングに勝手に繋がって通信量を食ったり、
公共の無線LANに勝手に繋がってしまったりしては困ります。

Wi-Fiの接続優先順位をwindows側で勝手に決められるのは、どうも気に食わないですよね。
(情報によれば、windows7まではwifi接続優先順位を設定する項目があったそうです。Microsoftはどうして改悪をしてしまうのか、、、。)

Wi-Fi接続優先順位を手動で変更する

そこで、Wi-Fiの接続優先順位を手動で変更する手順について順を追って見ていきたいと思います。
Wi-Fi接続優先順位の変更は、コマンドプロンプトを用います。

その1 : 現在の優先順位を確認する

まずコマンドプロンプトを用いて、現在のWi-Fi接続の優先順位を確認してみます。
コマンドプロンプトを立ち上げて、以下のコマンドを実行します。
(コマンドプロンプトは、スタートメニューから「コマンドプロンプト」と打ち込むと出てくると思います。)

netsh wlan show profiles

実行すると以下のように、Wi-Fiの名前がずらっと並んだ表が出力されると思います。
(表示されるSSID : Wi-Fiの名前  の数はそれぞれのPCによって異なります。)

この表は、今現在PCが記憶しているネットワークの一覧を表しています。
このリストは上の方が優先度が高くなっており、PCがこのリストに載っているWi-Fiを複数検出した場合、上の方のネットワークに優先的に接続されるという仕組みになっています。

この表の並び順を入れ替えることができれば、Wi-Fiの接続優先順位が変更できるというわけですね。

その2 : netshコマンドでWi-Fiの接続優先順位を入れ替える

では先ほど得られたwifiのリストをみながら、Wi-Fiの接続優先順位を変更してみます。
ここでは例として、先ほどのWi-Fiリストの二番目にある”aterm-043202-g”というWi-Fiを優先度を一番高くしてみます。

Wi-Fiの接続優先順位を変更するコマンドは次のようになります。

netsh wlan set profileorder name="優先順位を変更したいwifiの名前" interface="Wi-Fi" priority=1

name=””の部分に優先順位を変更したいWi-Fiの名前、interface=”Wi-Fi”、priority=1を指定します。

ここでは、”aterm-043202-g”というWi-Fiの優先順位を変更したいため、次のようにコマンドプロンプトで入力することになります。

netsh wlan set profileorder name="aterm-043202-g" interface="Wi-Fi" priority=1

正しくコマンドが実行できたら、
「プロファイル “優先順位を変更したWi-Fiの名前” の優先順位が正常に更新されました。」
というメッセージが表示されます。

正しく優先順位が変更されているかを確認するために、もう一度現在のWi-Fi接続優先順位を確認するコマンドを実行してみましょう。

netsh wlan show profiles

コマンドを実行すると上の画像のように、もともと上から2番目に位置していたwifi”aterm-043202-g”が1番上に変更されています。
これで無事、指定したWi-Fiが最優先で接続されるようになりました。

その3 : 接続の優先順位を任意の順位に移動する

先ほどのWi-Fi接続優先順位を変更するコマンドですが、priority=1と指定していました。

netsh wlan set profileorder name="優先順位を変更したいwifiの名前" interface="Wi-Fi" priority=1

この「priority=1」は「リストの1番目」という意味なので、このpriority=の部分の数字を変更してあげることで指定したwifiの優先順位を自在に変更することができます。

以下の例でみてみましょう。

上の画像のように、「priority=1」としてあげると指定したwifiの優先順位がリストの一番上に、「priority=4」とすると優先順位が上から4番目に変更されます。の部分を変更してあげることで、そのwifiの優先度を上から何番目に持ってくるかを指定することができます。

これで、windowsでもWi-Fiの優先順位を自在に並べ替えることができるようになりましたね。

以上、windowsでWi-Fi接続の優先順位を変更する手法についてでした。