Remove-VMSwitchコマンドレット――Hyper-Vの仮想スイッチを削除するWindows PowerShell基本Tips(130)

本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Remove-VMSwitch」コマンドレットを解説します。

» 2025年03月14日 05時00分 公開
[後藤諭史@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Windows PowerShell基本Tips」のインデックス

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、コンピュータ上で動作するHyper-Vの仮想スイッチを削除する「Remove-VMSwitch」コマンドレットです。

Remove-VMSwitchコマンドレットとは?

 Hyper-Vで仮想マシンにネットワークサービスを提供する仮想スイッチですが、さまざまな理由で削除する必要に迫られる場合があります。GUI(グラフィカルユーザーインタフェース)の管理ツール「Hyper-Vマネージャー」を使用するのも選択肢ですが、画面1の「削除」ボタンをクリックして「OK」ボタンをクリックしてしまうと、確認もなく削除されてしまうところがGUI作業の怖いところです。

ALT 画面1 Hyper-Vマネージャーからの仮想スイッチ削除作業では、「削除」ボタン→「OK」ボタンで削除されてしまう

 削除作業時は必ず確認のプロセスを挟みたい、という場合にはWindows PowerShellが最適です。今回紹介するRemove-VMSwitchは仮想スイッチを削除するコマンドレットであり、他の削除系コマンドレットと同様に「確認」のプロセスが入るため、比較的安全に作業を進めることが可能です。

【注】Remove-VMSwitchは「Windows PowerShell用Hyper-Vモジュール」に含まれるコマンドレットです。GUIツールの「Windowsの機能の有効化」や「役割と機能の追加」からHyper-Vを有効化するか、Windows PowerShellで「Enable-WindowsOptionalFeature」コマンドレットを実行して有効化します。


Remove-VMSwitchコマンドレットの書式

Remove-VMSwitch [オプション]


Remove-VMSwitchコマンドレットの主なオプション

オプション 意味
-ComputerName リモートのHyper-Vホストの仮想スイッチを削除する場合にコンピュータ名を指定する。省略可能
-Name 削除する仮想スイッチ名を指定する
-Force 実行時に確認なしで削除したい場合に指定する。省略可能

仮想スイッチを削除する

 削除したい仮想スイッチの名前を「-Name」オプションで指定してRemove-VMSwitchコマンドレットを実行すると、指定した名前の仮想スイッチが削除されます(画面2)。なお、Remove-VMSwitchコマンドレットは管理者権限での実行が必要となります。

コマンドレット実行例

Remove-VMSwitch -Name "Private vSwitch"

ALT 画面2 Remove-VMSwitchコマンドレットで仮想スイッチ名「Private vSwitch」の削除を実行し、確認プロンプトに対して「y」を応答した

 Remove-VMSwitchコマンドレット実行前後に第124回で紹介したGet-VMSwitch」コマンドレットで仮想スイッチの一覧を取得していますが、仮想スイッチ名「Private vSwitch」が削除されていることが分かります。

 Remove-VMSwitchコマンドレット実行時には、仮想スイッチを削除してよいかどうかの確認プロンプトが表示されます。仮想スイッチの削除は影響範囲が大きいので当然の処置といえるでしょう。

 スクリプトによる自動処理のため、削除作業に対する確認が不要な場合は「-Force」オプションを指定することで確認プロンプトを返すことなく削除が可能です(画面3)。

コマンドレット実行例

Remove-VMSwitch -Name "Private vSwitch" -Force

ALT 画面3 仮想スイッチ名「Private vSwitch」を確認プロンプトの応答なしで削除した

複数の仮想スイッチを一括削除する

 「-Name」オプションでワイルドカード(*)を使用することで、条件に一致した仮想スイッチ名を持つ仮想スイッチを一括削除できます(画面4)。

コマンドレット実行例

Remove-VMSwitch -Name *Corp* -Force

ALT 画面4 仮想スイッチ名に「*Corp*」を指定して、複数の仮想スイッチを一括削除した

仮想スイッチを削除する際の注意事項と影響

 仮想スイッチには、仮想スイッチを介してネットワーク通信する仮想マシンが接続されています。そのため、削除対象の仮想スイッチに仮想マシンが接続されていないことを確認した上で削除することが一般的です。

 仮想マシンが接続された状態、かつ仮想マシンが稼働中にRemove-VMSwitchコマンドレットを実行して仮想スイッチを削除しようとしても、画面5のようにエラーが表示されて削除できません。

ALT 画面5 接続されている仮想マシンが稼働状態であるため、仮想スイッチを削除できない

 しかし、仮想マシンが稼働中でなければ仮想スイッチは削除できてしまいます(画面6)。

ALT 画面6 接続されている仮想マシンが「停止状態」であるため、仮想スイッチが削除できてしまう

 そうした状態の場合、仮想マシン側のネットワーク設定はどうなっているでしょうか。

 画面6で削除された仮想スイッチ「External vSwitch_02」に接続していた仮想マシンの設定画面を確認すると、仮想スイッチが「構成エラー」と表示されています(画面7)。

ALT 画面7 仮想マシンが接続されている仮想スイッチを削除した場合、仮想マシン側は「構成エラー」となってしまう

 Windows PowerShellで状態を確認するには「Get-VMNetworkAdapter」コマンドレットを使用しますが、画面8のように仮想スイッチの欄には何も表示されません。これは仮想スイッチに未接続の場合と同じ状態となります。

ALT 画面8 Get-VMNetworkAdapterコマンドレットで状態を確認すると、仮想スイッチの欄には何も表示されない

 仮想スイッチは、仮想マシンが接続されている/されていないにかかわらず、削除できます。しかし、接続先仮想スイッチが消えてしまった仮想マシンは、その時点でネットワーク接続ができなくなるので、削除作業実行時には細心の注意を払ってください。

筆者紹介

後藤 諭史(ごとう さとし)

Microsoft MVP for Cloud and Datacenter Management(2012-2025)。現業の傍ら、コミュニティーイベントでの登壇や著作にてMicrosoftテクノロジーに関する技術情報の発信、共有を続けている。ネットワークやハードウェアといった物理層に近いところが大好きな、昔ながらのインフラ屋さん。得意技はケーブル整線。近著は『詳解! Windows Server仮想ネットワーク』(日経BP社)。


Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。