Windows標準の仮想化機能であるHyper-Vは、PowerShellを使って柔軟に管理できます。特に仮想マシン(VM)の起動や停止、スナップショットの取得、複製(クローン)などはスクリプトで自動化することで大幅に作業効率を向上できます。
事前準備:Hyper-Vモジュールのインポート
PowerShellでHyper-Vを操作するには、Hyper-Vモジュールが必要です。通常はWindowsに含まれており、以下のコマンドで読み込めます。
Import-Module Hyper-V
以下のコマンドで仮想マシンの一覧を確認できます。
Get-VM
仮想マシンの起動・停止
特定の仮想マシンを起動または停止するには、次のようにします。
# 起動
Start-VM -Name "TestVM"
# 停止(シャットダウン)
Stop-VM -Name "TestVM" -Force
強制終了(電源断)したい場合は -TurnOff
を使います。
Stop-VM -Name "TestVM" -TurnOff
スナップショットの取得と適用
仮想マシンの状態を保存するスナップショット(チェックポイント)は、以下のように操作します。
# スナップショットを作成
Checkpoint-VM -Name "TestVM" -SnapshotName "BeforeUpdate"
# スナップショットの一覧表示
Get-VMSnapshot -VMName "TestVM"
# スナップショットを適用(復元)
Restore-VMSnapshot -VMName "TestVM" -Name "BeforeUpdate"
仮想マシンの複製(クローン)
既存の仮想マシンをベースに新しいVMを作成するには、エクスポート→インポートの手順が一般的です。
# 仮想マシンをエクスポート
Export-VM -Name "TestVM" -Path "D:\VMExports\TestVM"
# 複製として新しいVMをインポート
Import-VM -Path "D:\VMExports\TestVM" -Copy -GenerateNewId
-GenerateNewId
を付けることで、新しいVMとして認識されます。
まとめ
PowerShellを使えば、Hyper-V上の仮想マシンの起動・停止、スナップショット管理、複製などの操作を簡潔に自動化できます。日常の管理作業やテスト環境の構築を効率化したい場合に、非常に有効な手段です。スクリプトとして保存し、定期的に実行することで、さらに強力な仮想化環境の管理が実現できます。