PowerShellを使用したHyper-V仮想マシンの管理
この記事では、PowerShellコンソールからHyper-V仮想マシンを管理する方法について説明します。仮想スイッチと仮想マシンの作成方法、VM設定の変更方法、およびVMの管理方法について説明します。これらのコマンドを使用して、Hyper-V VMを手動で管理したり、PowerShellスクリプトでさまざまなタスクを自動化したりできます。
WindowsServerおよびWindows10/11でHyper-Vの役割を有効にする方法
Hyper-Vの役割をインストールするには、ホストに仮想化をサポートするSLAT対応のCPUが必要です。 Windows Serverでは、次のPowerShellコマンドを使用してHyper-Vの役割をインストールします。
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
デスクトップ版(Windows 10および11)では、Hyper-Vの役割は次のようにインストールされます。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All
Hyper-Vホストを管理するには、Hyper-VPowerShellモジュール コンピュータにインストールする必要があります。次のように、使用可能なコマンドの完全なリストを表示できます(Windowsのバージョンによって異なります)。
Get-Command -Module hyper-v
Windows Server 2022では、Hyper-Vモジュールで245個のコマンドレットを使用できます。
Hyper-Vホスト設定のリストを表示するには、次のコマンドを使用します。
Get-VMHost|fl *
使用可能なCPUコアとRAMの数に関する情報のみを表示するには:
Get-VMHost| select LogicalProcessorCount, MemoryCapacity
を選択します
Set-VMHost
を使用します Hyper-Vホスト設定を変更します。次のコマンドは、仮想ディスクとVM構成ファイルへのデフォルトパスを変更します。
Set-VMHost -VirtualMachinePath E:\VMs -VirtualHardDiskPath E:\VMs\VHD'
PowerShellを使用してHyper-V仮想スイッチを作成する
まず、Hyper-Vホスト上に仮想スイッチを作成します。仮想マシンは、仮想スイッチを介してのみネットワークにアクセスできます。
Hyper-Vホストで使用可能な物理ネットワークアダプターのリストを表示しましょう:
Get-NetAdapter | where {$_.status -eq "up"}
外部仮想スイッチを作成します:
New-VMSwitch -Name "ExternalVMSwitch" -AllowManagementOS $True -NetAdapterName Ethernet0 -SwitchType External
PowerShellを使用してHyper-V仮想マシンを作成する
新しいHyper-V仮想マシンを作成するには、New-VM
コマンドレットが使用されます。この例では、1GBのRAMと10GBのVHDXディスクを備えた新しい第2世代のVMを作成します。
$VMName = "mun-prx2"
$VM = @{
Name = $VMName
MemoryStartupBytes = 1Gb
Generation = 2
NewVHDPath = "E:\HV\$VMName\$VMName.vhdx"
NewVHDSizeBytes = 10Gb
BootDevice = "VHD"
Path = "E:\HV\$VMName"
SwitchName = "ExternalVMSwitch"
}
New-VM @VM
これは、PowerShellを使用してHyper-V上にWindows11仮想マシンを作成する例です。
VM設定を変更するために使用できるコマンドを見てみましょう。
VMのRAMサイズを増やすには:
Get-VM -Name mun-prx2| Set-VMMemory -StartupBytes 2Gb
vCPUの数を変更するには:
Set-VMProcessor mun-prx2 -Count 2
Hyper-V仮想マシンの自動起動を有効にする:
Get-VM –VMname mun-prx2 | Set-VM –AutomaticStartAction Start
追加の仮想ディスクをVMに接続するには、最初にvhdxファイルを作成します。
New-VHD -Path 'C:\VM\new-prx2-drive.vhdx' -SizeBytes 2GB
次に、VMに接続します:
Add-VMHardDiskDrive -VMName mun-prx2 -Path 'C:\VM\new-prx2-drive.vhdx'
PowerShellを使用してHyper-VVMを管理する方法
Hyper-Vホスト上の仮想マシンのリストを表示するには:
Get-VM
このコマンドは、いくつかの基本的なプロパティを持つVMのリストを返します。すべてのVMプロパティを表示するには、次のコマンドを実行します。
Get-VM -Name mun-dmz1 | fl *
実行中のVMのみを表示するには:
Get-VM | where {$_.State -eq 'Running'}
仮想マシンを起動するには:
Start-VM -Name mun-app01
停止したすべての仮想マシンを起動するには:
Get-VM | where {$_.State -eq 'Off'} | Start-VM
VMをシャットダウンします(ゲストOSのIntegration Servicesを使用して正しくシャットダウンします):
Stop-VM -Name mun-app01
VMの電源をオフにするには、 TurnOff オプションが使用されます:
Stop-VM -Name mun-app01 –TurnOff
ISOファイルを仮想CD/DVDデバイスにマウントします:
Set-VMDvdDrive -VMName mun-app01 -Path c:\iso\WinSrv2022.iso
すべてのVMファイルをその場で別のディスクに移動するには、次のコマンドを使用します。
Move-VMStorage mun-app01 -DestinationStoragePath D:\VM\mun-app01
Resize-VHD
を使用して、仮想ディスクファイルを拡張または縮小できます。 コマンドレット:
Resize-VHD -Path 'C:\VM\mun-fs01.vhdx' -SizeBytes 50Gb
VMのチェックポイント(スナップショット)を作成するには:
Get-VM -Name mun-app01| Checkpoint-VM -SnapshotName "Before upgrading SAP"
利用可能なチェックポイントのリストを表示するには:
Get-Vm -Name mun-app01| Get-VMCheckpoint
チェックポイントからVMを以前の状態に復元するには:
Restore-VMCheckpoint -Name "Before upgrading SAP" -VMName mun-app01 -Confirm:$false
スナップショットを削除するには:
Remove-VMCheckpoint -VMName mun-app01 -Name "Before upgrading SAP"
Hyper-VでのVMのエクスポート、インポート、およびクローン作成については、次の記事で説明しています。
Export-VM -Name mun-app01 -Path 'C:\VHD\export' -CaptureLiveState CaptureCrashConsistentState
仮想マシンのゲストOSのIPアドレスを取得するには:
Get-VM | Select -ExpandProperty NetworkAdapters | Select VMName, IPAddresses, Status
を選択します
仮想マシンコンソールに接続するには:
vmconnect.exe localhost mun-app01
PowerShell Directを使用して、vmbus(Windows Server 2016、Windows 10以降で使用可能)を介して仮想マシンのゲストOSに直接接続できます。 Invoke-Command(スクリプトを実行するため)およびEnter-PSSession(インタラクティブなPowerShellセッションを実行するため)を使用します:
Invoke-Command -VMName mun-app01 -ScriptBlock {Get-Process}
Enter-PSSession -VMName mun-app01
PowerShell Directを使用してHyper-Vホストから仮想マシンにファイルをコピーするには、次のコマンドを使用します。
$PSSession = New-PSSession -VMName mun-app01 -Credential (Get-Credential)
Copy-Item -ToSession $PSSession -Path E:\ISO\install_image.iso -Destination D:\ISO\
PowerShellを使用して、Hyper-Vホスト上の仮想マシンをローカルまたはリモート(WindowsServerフルGUIまたはサーバーコアモード、無料のWindows Hyper-Vサーバー、またはWindows 10)で、Hyper-VマネージャーやWindowsAdminCenter。
-
PowerShellを使用したHyper-V2019での仮想マシンの作成
以前の記事の1つですでに述べたように、仮想マシンはGUI(グラフィカルユーザーインターフェイス)またはPowerShellを使用して作成できます。ほとんどの場合、両方のオプションを利用できる場合、IT管理者はGUIを使用することを好みます。 この記事では、PowerShellを使用してHyper-V2019で仮想マシンを作成する方法を紹介します。ご存知かもしれませんが、PowerShellはWindowsクライアントとWindowsサーバーのオペレーティングシステムに統合されたツールです。これは、特定のコマンドを実行するために使用される何千ものコマンドレットで構成されています。 いつものよ
-
VMware Converter を使用して仮想マシンを変換する
仮想化は、ソフトウェアのテストとデバッグ、同じデスクトップ上で異なるオペレーティング システムの複数のインスタンスを同時に実行し、ハードウェア コストを最小限に抑え、モジュール性と効率を高める優れた方法です。これにより、パワー ユーザーは時間とお金を節約し、通常は挑戦したり、試みたり、できなかったりするタスクを実行できます。仮想化とは、名前が示すように、仮想マシンを使用することです。これらの仮想マシンは、仮想ハード ディスクに格納されます。 問題は、各仮想化製品が独自のファイルシステム形式を提供していることです。これは、たとえば VirtualBox と VMware を使用している場合、