1台のWindowsパソコンを自宅や会社、外出先など、さまざまな場所で利用する場合、利用場所に合わせてネットワークアドレス設定を変更しなければならないことがあります。
そのようなとき、毎回ネットワークアダプターの設定画面を開いて、IPアドレスなどを手入力して設定を変更するのはとても面倒です。
そこでここではWindows 10を例に、ネットワーク設定をバッチファイル(コマンド)化して、利用場所に合わせたバッチファイルを実行するだけで、簡単にネットワーク設定を切り替える方法を紹介します。
ネットワーク設定をバッチファイル化
ネットワーク設定をバッチファイルでおこなう場合は「netsh」コマンドを利用します。
ここでは例として、ネットワークアダプターに以下のネットワーク設定を行います。
項目 | 値 |
---|---|
ネットワークアダプター名 | ローカル エリア接続 |
IPアドレス | 192.168.1.100(固定) |
サブネットマスク | 255.255.255.0 |
デフォルトゲートウェイ | 192.168.1.254 |
プライマリDNSアドレス | 8.8.8.8 |
セカンダリDNSアドレス | 8.8.4.4 |
パソコンに複数のネットワークアダプターが搭載されている場合は、設定するネットワークアダプター名を間違わないように注意しましょう。
上の設定をバッチファイルで行う場合は、メモ帳などのテキストエディタに以下のように記述します。
REM バッチファイルを管理者権限で実行する
cd /d %~dp0
for /f "tokens=3 delims=\ " %%i in ('whoami /groups^|find "Mandatory"') do set LEVEL=%%i
if NOT "%LEVEL%"=="High" (
powershell.exe -NoProfile -ExecutionPolicy RemoteSigned -Command "Start-Process %~f0 -Verb runas"
exit
)
REM ネットワーク設定を行う
netsh interface ipv4 set address "ローカル エリア接続" static 192.168.1.100 255.255.255.0 192.168.1.254
netsh interface ipv4 set dns "ローカル エリア接続" static 8.8.8.8 primary
netsh interface ipv4 add dns "ローカル エリア接続" 8.8.4.4
REM ネットワークアダプターを再起動する
netsh interface set interface "ローカル エリア接続" disable
netsh interface set interface "ローカル エリア接続" enable
pause
上のバッチファイルでは、コマンドの実行結果を確認できるよう最終行に「pause」コマンドを記述して、コマンドプロンプト画面が自動的に閉じないようにしていますが、不要なら「pause」コマンドを削除すれば、画面が自動的に閉じます。
入力が完了したら、文字コードを「ANSI(Shift-JIS)」、ファイル名の拡張子を「bat」として、デスクトップなどに保存します。
あとは、ネットワーク設定を記述したバッチファイルを利用場所ごとで用意しておけば、利用場所に応じたバッチファイルを実行するだけで、簡単にネットワーク設定を切り替えることができます。
なお、ネットワークアダプターの設定を、デフォルトのDHCPに設定するときは、バッチファイル内のネットワーク設定部分を、以下のように記述します。
REM ネットワーク設定を行う
netsh interface ipv4 set address "ローカル エリア接続" dhcp
netsh interface ipv4 set dns "ローカル エリア接続" dhcp
あとがき
ネットワーク設定を切り替えることができるツールもありますが、そのようなツールがなくても、ここで紹介したバッチファイルさえ用意しておけば簡単に設定を切り替えることができます。ご活用あれ。