やりたい事
Windows10でPowerShellを使いIPアドレスの設定を変更する。
条件
管理者でログインをしているか、管理者のユーザー名とパスワードを知っている事。
方法
[Win] (左下アイコン) を右クリック → [Windows PowerShell(管理者)(A)] → [はい] → Get-NetAdapter[enter] → 変更したい Name, ifIndex の番号をメモする
今回の例は
Name ... イーサネット
ifIndex ... 9
IPアドレス ... 192.168.111.101
サブネットマスク ... 255.255.255.0
デフォルト ゲートウエイ ... 192.168.111.254
DNSサーバー ... 192.168.111.254
DHCPサーバーを使っている状態から手動でIPアドレスを設定する場合
New-NetIPAddress -InterfaceIndex 9 -IPAddress "192.168.111.101" -AddressFamily IPv4 -PrefixLength 24 -DefaultGateway "192.168.111.254"
Set-DnsClientServerAddress -InterfaceIndex 9 -ServerAddresses "192.168.111.254"
手動でIPアドレスを設定している状態からDHCPサーバーを使う場合
Remove-NetIPAddress -Confirm:$false -InterfaceIndex 9 -DefaultGateway "192.168.111.254"
Set-DnsClientServerAddress -InterfaceIndex 9 -ResetServerAddresses
Set-NetIPInterface -InterfaceIndex 9 -Dhcp Enabled
デフォルトゲートウエイを削除せずにDHCPを有効にしてしまった場合
Remove-NetRoute -Confirm:$false -InterfaceIndex 9 -DestinationPrefix 0.0.0.0/0
Disable-NetAdapter -Confirm:$false -Name "イーサネット"
Enable-NetAdapter -Name "イーサネット"
メモ
- ネットワーク設定は上書がができない。
- デフォルトゲートウェイを削除せずにDHCPを有効にすると、デフォルトゲートウェイが削除できなくなる。
- どうにもならなくなったら、GUIで修正した方が簡単。
- netsh コマンドは将来廃止になる予定。
リファレンス
・IPアドレスとデフォルトゲートウェイを設定
New-NetIPAddress -InterfaceIndex 9 -IPAddress "192.168.111.101" -AddressFamily IPv4 -PrefixLength 24 -DefaultGateway "192.168.111.254"
・IPアドレスを追加
New-NetIPAddress -InterfaceIndex 9 -IPAddress "192.168.111.101" -AddressFamily IPv4
・DNSサーバーを設定
Set-DnsClientServerAddress -InterfaceIndex 9 -ServerAddresses "192.168.111.254"
・デフォルトゲートウェイの設定を消去
Remove-NetIPAddress -Confirm:$false -InterfaceIndex 9 -DefaultGateway "192.168.111.254"
・DNSサーバーの設定を消去
Set-DnsClientServerAddress -InterfaceIndex 9 -ResetServerAddresses
・DHCPをオン
Set-NetIPInterface -InterfaceIndex 9 -Dhcp Enabled
・ルートを削除
Remove-NetRoute -Confirm:$false -InterfaceIndex 9 -DestinationPrefix 0.0.0.0/0
・イーサネットの有効化
Enable-NetAdapter -Name "イーサネット"
・イーサネットの無効化
Disable-NetAdapter -Confirm:$false -Name "イーサネット"