Windows PCでIPアドレスをGUIで手動設定で固定IPにしたり、DHCP設定にしたりするためには、いちいち設定画面やネットワークアダプターの設定画面を開かないといけません。
設定する頻度がときどきならばいいのですが、頻繁に設定を行う場合は切り替えがとても面倒です。
設定変更にかかる時間はわずかな時間ではあるものの、ちょっとでも時短にしたいものです。
そんなときはバッチファイルを作成して運用する方法があります。
IP固定化バッチ
IPアドレスやDNSをしていするファイルです。
コマンドプロンプトで動作するスクリプトをバッチファイル化しているだけです。
事前に以下のコマンドでお使いのPCのインターフェース名を確認しておきましょう。
1 2 3 4 5 6 7 8 9 10 |
C:\WINDOWS\system32>netsh interface ip show interface Idx Met MTU 状態 名前 --- ---------- ---------- ------------ --------------------------- 1 75 4294967295 connected Loopback Pseudo-Interface 1 9 55 1500 disconnected Wi-Fi 8 25 1500 connected イーサネット 7 25 1500 disconnected ローカル エリア接続* 9 12 25 1500 disconnected ローカル エリア接続* 10 24 5000 1500 connected vEthernet (Default Switch) |
上記の結果から設定したいインターフェース名を控えておきます。
今回はイーサネットという名前のインターフェースを対象にします。
後は以下の内容を記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
@echo off pause set IFNAME="イーサネット" set IPADDR=192.168.1.1 set MASK=255.255.255.0 set GW=192.168.1.250 set DNS1=8.8.8.8 set DNS2=1.1.1.1 netsh interface ipv4 set address name=%IFNAME% static %IPADDR% %MASK% %GW% 1 netsh interface ipv4 set dnsservers name=%IFNAME% static %DNS1% primary validate=no netsh interface ipv4 add dnsservers name=%IFNAME% %DNS2% index=2 validate=no timeout /nobreak 3 ipconfig /all pause |
解説を加えておきます。
set ~で変数を設定しています。
1 2 3 4 5 6 |
set IFNAME="イーサネット" ←インターフェース名 set IPADDR=192.168.1.1 ←IPアドレス set MASK=255.255.255.0 ←サブネットマスク set GW=192.168.1.250 ←デフォルトゲートウェイ set DNS1=8.8.8.8 ←DNS1(プライマリ) set DNS2=1.1.1.1 ←DNS2(セカンダリ) |
netsh interface ipv4 ~でIPアドレスとDNSサーバーを指定しています。
1 2 3 |
netsh interface ipv4 set address name=%IFNAME% static %IPADDR% %MASK% %GW% 1 netsh interface ipv4 set dnsservers name=%IFNAME% static %DNS1% primary validate=no netsh interface ipv4 add dnsservers name=%IFNAME% %DNS2% index=2 validate=no |
validate=noはDNSへの接続確認をしないというものです。
timeout /nobreak 3 は次のコマンド実行まで3秒待つという意味です。
ipconfig /all をすぐ実行してしまうとIPアドレスが変更される前の結果が表示されることがあったので、3秒Waitするようにしました。
DHCP化バッチ
IPアドレス設定をDHCPで行うバッチファイルです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
@echo off pause set IFNAME="イーサネット" set DNS1=8.8.8.8 set DNS2=1.1.1.1 netsh interface ipv4 set address name=%IFNAME% DHCP netsh interface ipv4 set dnsservers name=%IFNAME% static %DNS1% primary validate=no netsh interface ipv4 add dnsservers name=%IFNAME% %DNS2% index=2 validate=no timeout /nobreak 3 ipconfig /all pause |
どちらのバッチファイルも管理者権限での実行が必要になる点は注意です。
これで、運用が楽になりました。
コメント