netsh - ネットワーク設定を確認・変更する
netsh(Network Shell)は、Windows のネットワーク設定をコマンドで確認・変更するためのコマンドです。Wi-Fi の接続情報、IP アドレスや DNS の設定、ファイアウォールなどを扱えます。
ipconfigが主に「いまの状態を見る」コマンドなのに対し、netshは設定の変更もできる点が特徴です。
netshコマンドの基本構文
netsh [コンテキスト] [サブコンテキスト] <コマンド> [オプション]
コンテキストの階層はコマンドによって異なります(winsock resetは1階層、interface ip show configは2階層)。
netshは、操作の対象ごとに「コンテキスト」を指定します。よく使うものは次のとおりです。
| コンテキスト | 対象 |
|---|---|
wlan | 無線 LAN(Wi-Fi) |
interface | ネットワークアダプターの IP 設定 |
advfirewall | Microsoft Defender ファイアウォール |
winsock | Winsock カタログ |
使い方が分からなくなったら、途中までコマンドを入力して?を付けると、その階層で使えるコマンドの一覧が表示されます。
netsh wlan ?
保存済みの Wi-Fi 一覧を表示する
netsh wlan show profiles
表示される内容は、Windows の表示言語によって変わります。
保存済みの Wi-Fi パスワードを確認する
name=にプロファイル名を、key=clearを指定します。
netsh wlan show profile name="home-wifi" key=clear
出力の「セキュリティ設定」にある「キーの内容」がパスワードです。
保存されているプロファイルによっては、管理者として実行しないと「キーの内容」が表示されない場合があります。また、パスワードが画面に表示されるため、スクリーンショットや画面共有に写り込まないよう注意してください。自分の端末のパスワードを確認する目的でのみ使いましょう。
IP アドレスなどの設定を確認する
netsh interface ip show config
アダプターごとに、IP アドレス、サブネットマスク、デフォルトゲートウェイ、DNS サーバーが表示されます。
アダプター名の一覧は次のコマンドで確認できます。
netsh interface show interface
IP アドレスと DNS を設定する
アダプター名がWi-Fiの場合の例です。設定の変更には管理者権限が必要です。
netsh interface ip set address name="Wi-Fi" static 192.168.1.50 255.255.255.0 192.168.1.1
netsh interface ip set dnsservers name="Wi-Fi" static 8.8.8.8
netsh interface ip set address name="Wi-Fi" dhcp
netsh interface ip set dnsservers name="Wi-Fi" dhcp
IP アドレスやゲートウェイを誤ると、ネットワークに接続できなくなります。アダプター名はnetsh interface show interfaceで確認した名前と完全に一致させてください。設定前にnetsh interface ip show configで元の値を控えておき、困ったときは上記の DHCP に戻すコマンドを実行してください。
Winsock をリセットする
ネットワークの接続が不安定なときの対処として、Winsock カタログを初期状態に戻す方法があります。
netsh winsock reset
実行には管理者権限が必要で、実行後はパソコンの再起動が必要です。VPN やセキュリティソフトの設定に影響する場合もあります。ほかの原因が考えられる場合は、まずipconfig /flushdnsで DNS キャッシュを消去したり、pingで疎通を確認したりしましょう。
Wi-Fi の診断レポートを作成する
netsh wlan show wlanreport
管理者権限が必要です。過去数日間の Wi-Fi の接続履歴やエラー、切断の原因などをまとめた HTML レポートが作成されます。既定の出力先はC:\ProgramData\Microsoft\Windows\WlanReport\wlan-report-latest.htmlです。
設定をバッチファイルで使う
@echo off
set /p WIFI_NAME=Wi-Fi のプロファイル名を入力してください:
netsh wlan show profile name="%WIFI_NAME%" key=clear | findstr /i /c:"キーの内容" /c:"Key Content"
pause
findstrで、パスワードの行だけを絞り込んでいます。日本語環境では「キーの内容」、英語環境ではKey Contentと表示されるため、両方を検索語に指定しています。
まとめ
| やりたいこと | コマンド |
|---|---|
| 保存済み Wi-Fi の一覧 | netsh wlan show profiles |
| Wi-Fi のパスワード確認 | netsh wlan show profile name="名前" key=clear |
| IP 設定の確認 | netsh interface ip show config |
| DHCP に戻す | netsh interface ip set address name="名前" dhcp |
| Winsock のリセット | netsh winsock reset |
| Wi-Fi 診断レポート | netsh wlan show wlanreport |