WindowsのIPアドレスをコマンドで簡単に切り替える

スポンサーリンク
このブログではアフィリエイト広告を利用しています。

SEの仕事では、テスト端末を色々なネットワークに接続し、そのたびにIPアドレスを変更するということがよくあります。

Windowsの場合、毎回GUIの「アダプターの設定の変更」から変更していると時間もかかるし面倒です。

必要なコマンドを事前に用意しておき、変更したい時に実行すれば素早く簡単に変更することができます。

スポンサーリンク

IPアドレスをコマンドで変更する

IPアドレスをコマンドで変更する方法を紹介します。

事前準備

IPアドレスをコマンドで変更するには、まずは変更する対象のインターフェース名を特定する必要があります。

スタートメニューの[設定](ギアアイコン)をクリックします。

スタートメニューで「設定」を選択する画像

[ネットワークとインターネット]を選択します。

「Windowsの設定」画面の画像

状態画面で[ネットワークのプロパティを表示]をクリックします。

「設定(状態)」画面の画像

変更対象のインターフェースの[名前]を確認してください。

「設定(ネットワークのプロパティを表示)」画面の画像

コマンドプロンプトでIPアドレスを変更する

IPアドレスをコマンドプロンプトで変更するには、管理者権限で実行する必要があります。

コマンドプロンプトを管理者権限で実行するには、スタートメニューから[Windowsシステムツール]-[コマンドプロンプト]を右クリックし[その他]-[管理者として実行]を選択します。

スタートメニューのコマンドプロンプトの右クリックメニューの画像

コマンドプロンプトで実施しているnetshコマンドは将来廃止予定といわれているので、今後実行するにはPowerShellの方がよいかもしれません。

固定IPアドレスを割り当てる

固定IPアドレスを割り当てるコマンドです。

netsh interface ip set address "[インターフェース名]" static [IPアドレス] [ネットマスク] [デフォルトゲートウェイIPアドレス] [メトリック]

コマンド例)

netsh interface ip set address "イーサネット" static 192.168.100.1 255.255.255.0 92.168.100.254 5

DHCP割り当てに変更する

netsh interface ip set address "[インターフェース名]" dhcp

コマンド例

netsh interface ip set address "イーサネット" dhcp 

DNSサーバを指定する

netsh interface ip set dns "[インターフェース名]" static [DNSサーバIPアドレス] primary

コマンド例)

netsh interface ip set dns "イーサネット" static 8.8.8.8 primary 

DNSサーバのセカンダリを指定する

netsh interface ip add dns "[インターフェース名]" [DNSサーバIPアドレス]

コマンド例)

netsh interface ip add dns "イーサネット" 192.168.100.254

DNSサーバをDHCP割り当てに変更する

netsh interface ip set dns "[インターフェース名]" dhcp

コマンド例)

netsh interface ip set dns "イーサネット" dhcp
スポンサーリンク

PowerShellの場合

IPアドレスをPowerShellで変更するには、管理者権限で実行する必要があります。

PowerShellを管理者権限で実行するには、左下のスタートボタンを右クリックし、[Windows PowerShell(管理者)]を選択します。

アドバンストメニューの画像

また、PowerShellで設定を変更する場合、上書きではうまくいかないため、事前に設定の削除が必要になります。

アドレス設定を削除

Remove-NetIPAddress -Confirm:$false -InterfaceAlias "[インターフェース名]" -AddressFamily "IPv4"

コマンド例)

Remove-NetIPAddress -Confirm:$false -InterfaceAlias "イーサネット" -AddressFamily "IPv4"

デフォルトゲートウェイ設定を削除

Remove-NetRoute -Confirm:$false -InterfaceAlias "[インターフェース名]" -DestinationPrefix 0.0.0.0/0

コマンド例)

Remove-NetRoute -Confirm:$false -InterfaceAlias "イーサネット" -DestinationPrefix 0.0.0.0/0

DNSサーバーの設定を削除

Set-DnsClientServerAddress -InterfaceAlias "[インターフェース名]" -ResetServerAddresses

コマンド例)

Set-DnsClientServerAddress -InterfaceAlias "イーサネット" -ResetServerAddresses

固定IPアドレスを割り当てる

New-NetIPAddress -InterfaceAlias "[インターフェース名]" -IPAddress [IPアドレス] -AddressFamily IPv4 -PrefixLength [サブネットマスクの長さ(255.255.255.0なら24を指定)] -DefaultGateway [デフォルトゲートウェイIPアドレス]

コマンド例)

New-NetIPAddress -InterfaceAlias "イーサネット" -IPAddress 192.168.100.1 -AddressFamily IPv4 -PrefixLength 24 -DefaultGateway 192.168.100.254

DHCP割り当てに変更する

Set-NetIPInterface -InterfaceAlias "[インターフェース名]" -Dhcp Enabled

コマンド例)

Set-NetIPInterface -InterfaceAlias "イーサネット" -Dhcp Enabled

DNSサーバを指定する

Set-DnsClientServerAddress -InterfaceAlias "[インターフェース名]" -ServerAddresses [DNSサーバIPアドレス]

コマンド例)

Set-DnsClientServerAddress -InterfaceAlias "イーサネット" -ServerAddresses 8.8.8.8
DNSサーバのセカンダリを指定する

セカンダリを指定する場合はカンマ区切りで2つ指定します。

Set-DnsClientServerAddress -InterfaceAlias "[インターフェース名]" -ServerAddresses [DNSサーバプライマリIPアドレス],[DNSサーバセカンダリIPアドレス]

コマンド例)

Set-DnsClientServerAddress -InterfaceAlias "イーサネット" -ServerAddresses 8.8.8.8,192.168.100.244

DNSサーバをDHCP割り当てに変更する

コマンドプロンプトのnetshコマンドの時とは違い、明示的に指定する設定はなく「DNSサーバーの設定を削除」後に「DHCP割り当てに変更する」を実施するとDNSサーバもDNCP割り当てに変更されます。

まとめ

必要なコマンドをあらかじめ作成しておけば後は実行するだけなので「アダプターの設定の変更」からGUIで変更するよりもずいぶん早くなります。

また、コマンドをまとめて「.bat」ファイルや「.ps1」ファイルにしておけばファイルを実行するだけで変更できるため、さらに簡単になります。

ただし、ファイル実行時にはダブルクリックではなく、右クリックから管理者権限で実行する必要があります。

バッチファイルの右クリックメニューの画像

コメント