Categories: OS

PowerShellでIPアドレスを削除する方法:Remove-NetIPAddressコマンドの使い方を徹底解説

IPアドレスの設定変更や削除は、ネットワーク管理において欠かせない作業の一つです。特に複数のネットワークインターフェースを持つサーバー環境や、仮想マシン上の構成変更時などには、不要になったIPアドレスを適切に削除することで、トラブルを未然に防ぐことができます。
本記事では、Windows PowerShellを使ってIPアドレスを削除する際に使用する Remove-NetIPAddress コマンドについて詳しく解説します。

Remove-NetIPAddressとは?

Remove-NetIPAddress は、PowerShellのネットワーク管理用コマンドレットの一つで、指定したIPアドレスを削除するために使用されます。
Windows 8以降およびWindows Server 2012以降のOSで利用可能な NetTCPIP モジュールに含まれています。GUIからもIPの削除は可能ですが、PowerShellを使うことでスクリプトによる一括操作や自動化ができ、運用効率が向上します。


Remove-NetIPAddressの基本構文

Remove-NetIPAddress [-InterfaceAlias] <String> [-IPAddress] <String> [-Confirm] [-WhatIf] [<CommonParameters>]

主なパラメーターの説明は以下の通りです。

  • -InterfaceAlias:IPアドレスを削除したいネットワークインターフェースの名前
  • -IPAddress:削除する対象のIPアドレス
  • -Confirm:削除前に確認プロンプトを表示
  • -WhatIf:実行せずに実行結果をシミュレート表示

削除前に現在のIPアドレスを確認する

まずは、現在設定されているIPアドレスを確認しましょう。

Get-NetIPAddress

このコマンドを実行すると、各インターフェースに割り当てられたIPアドレスや、アドレスタイプ(IPv4/IPv6)、プレフィックス長、インターフェースインデックスなどが一覧表示されます。

例:

IPAddress         : 192.168.1.100
InterfaceIndex : 12
InterfaceAlias : Ethernet
AddressFamily : IPv4

この情報を元に、削除対象のIPアドレスとインターフェース名を特定します。


実際にIPアドレスを削除する例

次に、特定のIPアドレスを削除する実行例を紹介します。

Remove-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress "192.168.1.100"

上記コマンドを実行すると、「Ethernet」インターフェースに割り当てられた「192.168.1.100」というIPアドレスが削除されます。

削除前に確認を表示させたい場合は、-Confirm を付けます。

Remove-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress "192.168.1.100" -Confirm

InterfaceAliasがわからない場合の調べ方

インターフェースの名前(InterfaceAlias)がわからないときは、以下のコマンドで一覧表示できます。

Get-NetAdapter

このコマンドで、ネットワークインターフェースの一覧が確認できます。


複数のIPアドレスを削除する方法

同じインターフェースに複数のIPアドレスが設定されている場合、それらを一括で削除したいこともあります。その際は、Where-Object を使って対象を絞り、Remove-NetIPAddress と組み合わせます。

Get-NetIPAddress -InterfaceAlias "Ethernet" | Where-Object {$_.AddressFamily -eq "IPv4"} | Remove-NetIPAddress

上記は「Ethernet」インターフェース上のIPv4アドレスをすべて削除する例です。誤って削除しないよう、-WhatIf パラメータで事前に確認しておくのも有効です。


削除できないときの原因と対処法

IPアドレスが削除できない場合、以下の原因が考えられます。

  • 管理者権限でPowerShellを実行していない
    ⇒ 「管理者として実行」でPowerShellを開きましょう。
  • IPアドレスがDHCPから割り当てられている
    ⇒ 静的に割り当てられたIPであることを確認してください。
  • 対象のIPアドレスが既に削除済みで存在しない
    Get-NetIPAddress で事前に存在を確認してください。
  • 複数の条件が一致してしまっている
    InterfaceAliasIPAddress を正確に指定することで対処可能です。

削除操作をスクリプト化して自動実行する

PowerShellの強みは、コマンドをスクリプト化して自動実行できることです。
以下は、特定のIPアドレスを自動的に削除するスクリプトの例です。

$alias = "Ethernet"
$ip = "192.168.1.100"

if (Get-NetIPAddress -InterfaceAlias $alias -IPAddress $ip -ErrorAction SilentlyContinue) {
Remove-NetIPAddress -InterfaceAlias $alias -IPAddress $ip -Confirm:$false
Write-Output "IPアドレス $ip を削除しました。"
} else {
Write-Output "指定されたIPアドレスは見つかりませんでした。"
}

このスクリプトを .ps1 ファイルに保存し、タスクスケジューラなどで定期実行することも可能です。


まとめ

PowerShellの Remove-NetIPAddress コマンドを使えば、GUIよりも迅速かつ柔軟にIPアドレスを削除することが可能です。特に複数マシンや仮想環境を管理している場合、スクリプトによる自動化は非常に有効です。

最後に、安全な運用のためには以下を意識しましょう。

  • 削除前には Get-NetIPAddress で確認
  • 必要に応じて -WhatIf-Confirm を活用
  • 管理者権限での実行を忘れずに
  • 自動化スクリプトは条件分岐とログ出力を含める

ネットワーク管理の一助として、ぜひPowerShellの力を活用してみてください。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。