SEの仕事では、テスト端末を色々なネットワークに接続し、そのたびにIPアドレスを変更するということがよくあります。
Windowsの場合、毎回GUIの「アダプターの設定の変更」から変更していると時間もかかるし面倒です。
必要なコマンドを事前に用意しておき、変更したい時に実行すれば素早く簡単に変更することができます。
IPアドレスをコマンドで変更する
IPアドレスをコマンドで変更する方法を紹介します。
事前準備
IPアドレスをコマンドで変更するには、まずは変更する対象のインターフェース名を特定する必要があります。
スタートメニューの[設定](ギアアイコン)をクリックします。
[ネットワークとインターネット]を選択します。
状態画面で[ネットワークのプロパティを表示]をクリックします。
変更対象のインターフェースの[名前]を確認してください。
コマンドプロンプトで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」ファイルにしておけばファイルを実行するだけで変更できるため、さらに簡単になります。
ただし、ファイル実行時にはダブルクリックではなく、右クリックから管理者権限で実行する必要があります。
コメント