Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

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

PowerShellを使用したHyper-V仮想マシンの管理

Windows Server 2022では、Hyper-Vモジュールで245個のコマンドレットを使用できます。

Hyper-Vホスト設定のリストを表示するには、次のコマンドを使用します。

Get-VMHost|fl *

使用可能なCPUコアとRAMの数に関する情報のみを表示するには:

Get-VMHost| select LogicalProcessorCount, MemoryCapacityを選択します

PowerShellを使用したHyper-V仮想マシンの管理

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"}

サーバーがSR-IOV(シングルルート入出力(I / O)仮想化)をサポートしている場合 、スイッチを作成するときにオプションを有効にする必要があることに注意してください。既存のvSwitchに対してSR-IOVを有効にすることはできません。 Hyper-VVMのSR-IOVサポートを有効にする方法の詳細をご覧ください。

外部仮想スイッチを作成します:

New-VMSwitch -Name "ExternalVMSwitch" -AllowManagementOS $True -NetAdapterName Ethernet0 -SwitchType External

PowerShellを使用したHyper-V仮想マシンの管理

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仮想マシンの管理

これは、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

PowerShellを使用したHyper-V仮想マシンの管理

このコマンドは、いくつかの基本的なプロパティを持つ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

応答しないHyper-VVMを停止する方法を学びます。

ISOファイルを仮想CD/DVDデバイスにマウントします:

Set-VMDvdDrive -VMName mun-app01 -Path c:\iso\WinSrv2022.iso

USBパススルーを使用して、USBデバイス(メディア/ドライブ)をHyper-VVMにリダイレクトできます。

すべての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

PowerShellを使用したHyper-V仮想マシンの管理

チェックポイントから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

組み込みのWindowsServerバックアップ(WSB)を使用して、Hyper-V仮想マシンをバックアップできます。

仮想マシンのゲストOSのIPアドレスを取得するには:

Get-VM | Select -ExpandProperty NetworkAdapters | Select VMName, IPAddresses, Statusを選択します

仮想マシンコンソールに接続するには:

vmconnect.exe localhost mun-app01

PowerShellを使用したHyper-V仮想マシンの管理

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。


  1. PowerShellを使用したHyper-V2019での仮想マシンの作成

    以前の記事の1つですでに述べたように、仮想マシンはGUI(グラフィカルユーザーインターフェイス)またはPowerShellを使用して作成できます。ほとんどの場合、両方のオプションを利用できる場合、IT管理者はGUIを使用することを好みます。 この記事では、PowerShellを使用してHyper-V2019で仮想マシンを作成する方法を紹介します。ご存知かもしれませんが、PowerShellはWindowsクライアントとWindowsサーバーのオペレーティングシステムに統合されたツールです。これは、特定のコマンドを実行するために使用される何千ものコマンドレットで構成されています。 いつものよ

  2. VMware Converter を使用して仮想マシンを変換する

    仮想化は、ソフトウェアのテストとデバッグ、同じデスクトップ上で異なるオペレーティング システムの複数のインスタンスを同時に実行し、ハードウェア コストを最小限に抑え、モジュール性と効率を高める優れた方法です。これにより、パワー ユーザーは時間とお金を節約し、通常は挑戦したり、試みたり、できなかったりするタスクを実行できます。仮想化とは、名前が示すように、仮想マシンを使用することです。これらの仮想マシンは、仮想ハード ディスクに格納されます。 問題は、各仮想化製品が独自のファイルシステム形式を提供していることです。これは、たとえば VirtualBox と VMware を使用している場合、