Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

【自分用メモ】PowerShellによるIPアドレスの設定及び変更

More than 5 years have passed since last update.

◆IPアドレス操作

PowerShellでIPアドレスを設定する場合は、まず、Remove-NetIPAddressしてからNew-NetIPAddressするという手順を踏む。set-NetIPAddressで変更しようとするとエラーになるほか、set-NetIPAddressの際にはデフォルトゲートウェイが指定できないなど、不完全な設定しかできない。

静的に設定したIPアドレスの削除

PowerShellコマンド
Remove-NetIPAddress -InterfaceIndex 13 -IPAddress "192.168.88.88" -DefaultGateway "192.168.88.1"

【解説】

「-InterfaceIndex 13」は、Get-NetAdapterで表示されたifIndex Statusの値なので各環境で読み替える必要あり。
「-IPAddress "192.168.88.88"」は、文字通り、静的に設定した削除対象のIPアドレスなので、各環境で読み替える必要あり。
「-DefaultGateway "192.168.88.1"」は、文字通り、静的に設定した削除対象のデフォルトゲートウェイなので、各環境で読み替える必要あり。
明示的にデフォルトゲートウェイを削除しないと、デフォルトゲートウェイだけ残ってしまう。

静的に設定したDNSサーバの削除

PowerShellコマンド
Set-DnsClientServerAddress -InterfaceIndex 13 -ResetServerAddresses

【解説】

「-InterfaceIndex 13」は、Get-NetAdapterで表示されたifIndex Statusの値なので各環境で読み替える必要あり。
「-ResetServerAddresses」のみで、静的に設定されているDNSサーバがすべてクリアされる。

DHCPで配布されたIPアドレスの削除

PowerShellコマンド
Remove-NetIPAddress -InterfaceIndex 13 -DefaultGateway "172.16.64.1"

【解説】

「-InterfaceIndex 13」は、Get-NetAdapterで表示されたifIndex Statusの値なので各環境で読み替える必要あり。
「-DefaultGateway "172.16.64.1"」は、文字通り、静的に設定した削除対象のデフォルトゲートウェイなので、各環境で読み替える必要あり。
明示的にデフォルトゲートウェイを削除しないと、デフォルトゲートウェイだけ残ってしまう。

静的なIPアドレスの設定

PowerShellコマンド
New-NetIPAddress -InterfaceIndex 13 -IPAddress "192.168.88.88" -AddressFamily IPv4 -PrefixLength 24 -DefaultGateway "192.168.88.1"

【解説】

「-InterfaceIndex 13」は、Get-NetAdapterで表示されたifIndex Statusの値なので各環境で読み替える必要あり。
「-IPAddress "192.168.88.88"」は、文字通り、静的に設定したいIPアドレスなので、各環境で読み替える必要あり。
「-DefaultGateway "192.168.88.1"」は、文字通り、静的に設定したいデフォルトゲートウェイなので、各環境で読み替える必要あり。

静的なDNSサーバの設定

PowerShellコマンド
Set-DnsClientServerAddress -InterfaceIndex 13 -ServerAddresses "192.168.88.1"

【解説】

「-InterfaceIndex 13」は、Get-NetAdapterで表示されたifIndex Statusの値なので各環境で読み替える必要あり。
「-IPAddress "192.168.88.88"」は、文字通り、静的に設定したいDNSサーバなので、各環境で読み替える必要あり。

DHCPによるIP取得の設定

PowerShellコマンド
Set-NetIPInterface -InterfaceIndex 13 -Dhcp Enabled

【解説】

「-InterfaceIndex 13」は、Get-NetAdapterで表示されたifIndex Statusの値なので各環境で読み替える必要あり。

◆ネットワークアダプタの有効・無効

ネットワークの静的IP設定とDHCPによるIP取得の設定をPowerShellから繰り返し行うと、DHCPが降ってこない場合がある。また、ipconfig /renewがすばやく実行されない場合は、ネットワークアダプタを無効としたあと有効とすることで、すぐにipconfig /renew相当の処理が実施される。
しかし、その際、「タスクトレイ」→「ネットワークと共有センター」→「アダプターの設定の変更」または「コントロール パネル」→「ネットワークとインターネット」→「ネットワーク接続」→「アダプターの設定の変更」で、対象のネットワークアダプタを無効→有効する操作は面倒であるため、これもPowerShellで実施する。

ネットワークアダプタの無効操作

PowerShellコマンド
Disable-NetAdapter -Name "eth0"

【解説】

「-Name "eth0"」は、Get-NetAdapterで表示されたName(ネットワークアダプタ名)の値なので各環境で読み替える必要あり。
デフォルトのネットワークアダプタ名は、「ローカルエリア接続 2」等となっており、PowerShellのコマンド入力時に日本語入力の切り替えや途中で半角スペースを入力する必要があるなど面倒であるため、事前に名称を変更する等しておくと楽になる。(PowerShellからネットワークアダプタ名を変更する方法は後で調べる)

ネットワークアダプタの有効操作

PowerShellコマンド
Enable-NetAdapter -Name "eth0"

【解説】

「-Name "eth0"」は、Get-NetAdapterで表示されたName(ネットワークアダプタ名)の値なので各環境で読み替える必要あり。
デフォルトのネットワークアダプタ名は、「ローカルエリア接続 2」等となっており、PowerShellのコマンド入力時に日本語入力の切り替えや途中で半角スペースを入力する必要があるなど面倒であるため、事前に名称を変更する等しておくと楽になる。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away