適用対象: Azure Local 2311.2 以降。Windows Server 2022、Windows Server 2019
この記事では、Windows PowerShell を使用して Azure Local で仮想マシン (VM) を作成および管理する方法について説明します。
注
Azure Local で VM を作成および管理する推奨される方法は、 Azure Arc コントロール プレーンを使用する方法です。 ただし、この記事で説明する機能はまだ Azure Arc によって提供されていないため、この記事の説明に従って Windows Admin Center または PowerShell を使用できます。 この方法で作成された VM は Azure Arc によって有効にされず、Azure Arc コントロール プレーンからの管理性が制限され、Azure Update Manager の使用を含め、追加コストなしで Azure ハイブリッド特典が少なくなります。
詳細については、「Azure ローカル上の VM と Azure ローカル VM でサポートされる操作の管理機能を比較する」を参照してください。
PowerShell を使用した VM の管理について
通常、Azure Local のホスト コンピューターではなく、リモート コンピューターから VM を管理します。 このリモート コンピューターは、管理コンピューターと呼ばれます。
管理コンピューターから PowerShell コマンドを実行する場合は、 -ComputerName
パラメーターに、管理しているホスト コンピューターの名前を指定します。 NetBIOS 名、IP アドレス、および完全修飾ドメイン名を指定できます。
PowerShell を使用した VM の管理に関する完全なリファレンス ドキュメントについては、 Hyper-V リファレンスを参照してください。
VM を作成する
新しい VM を作成するには、New-VM
コマンドレットを使用します。 詳細な使用方法については、 New-VM リファレンス ドキュメントを参照してください。
既存の仮想ハード ディスクを使用して新しい VM を作成するときに指定できる設定は次のとおりです。
-Name は、作成する仮想マシンに指定する名前です。
-MemoryStartupBytes は、起動時に仮想マシンで使用できるメモリの量です。
-BootDevice は、仮想マシンの起動時に起動するデバイスです。 通常、これは仮想ハードディスク (VHD)、DVD ベースのブート用の .iso ファイル、またはネットワーク ブート用のネットワーク アダプター (NetworkAdapter) です。
-VHDPath は、使用する仮想マシン ディスクへのパスです。
-Path は、仮想マシン構成ファイルを格納するパスです。
-Generation は仮想マシンの世代です。 VHD の場合は第 1 世代、VHDX の場合は第 2 世代を使用します。
-SwitchName は、仮想マシンが他の仮想マシンまたはネットワークに接続するために使用する仮想スイッチの名前です。 Get-VMSwitch を使用して仮想スイッチの名前を取得します。 次に例を示します。
VM1 という VM を作成するための完全なコマンドは次のとおりです。
New-VM -ComputerName Server1 -Name VM1 -MemoryStartupBytes <Memory> -BootDevice <BootDevice> -VHDPath <VHDPath> -Path <Path> -Generation <Generation> -SwitchName <Switch name>
次の例では、4 GB のメモリを備えた第 2 世代仮想マシンを作成します。 これは、現在のディレクトリの VMs\Win10.vhdx フォルダーから起動し、ExternalSwitch という名前の仮想スイッチを使用します。 仮想マシンの構成ファイルは、VMData フォルダーに格納されます。
New-VM -ComputerName Server1 -Name VM1 -MemoryStartupBytes 4GB -BootDevice VHD -VHDPath .\VMs\Win10.vhdx -Path .\VMData -Generation 2 -SwitchName ExternalSwitch
仮想ハード ディスクを指定するには、次のパラメーターを使用します。
新しい仮想ハード ディスクを使用して仮想マシンを作成するには、上の例の -VHDPath パラメーターを -NewVHDPath に 置き換え、次に示すように -NewVHDSizeBytes パラメーターを追加します。
New-VM -ComputerName Server1 -Name VM1 -MemoryStartupBytes 4GB -BootDevice VHD -NewVHDPath .\VMs\Win10.vhdx -Path .\VMData -NewVHDSizeBytes 20GB -Generation 2 -SwitchName ExternalSwitch
オペレーティング システム イメージで起動する新しい仮想ディスクを使用して仮想マシンを作成するには、「 Windows 10 で Hyper-V するための仮想マシンの作成」チュートリアルの PowerShell の例を参照してください。
VM の一覧を取得する
次の例では、Server1 上のすべての VM の一覧を返します。
Get-VM -ComputerName Server1
次の例では、 Where-Object
コマンドを使用してフィルターを追加して、マシン上で実行中のすべての VM の一覧を返します。 詳細については、 Where-Object ドキュメントの使用を 参照してください。
Get-VM -ComputerName Server1 | Where-Object -Property State -eq "Running"
次の例では、マシン上のすべてのシャットダウン VM の一覧が返されます。
Get-VM -ComputerName Server1 | Where-Object -Property State -eq "Off"
VM を起動および停止する
VM を起動または停止するには、Start-VM
と Stop-VM
のコマンドを使用します。 詳細については、 Start-VM と Stop-VM の リファレンス ドキュメントを参照してください。
次の例は、VM1 という名前の VM を起動する方法を示しています。
Start-VM -Name VM1 -ComputerName Server1
次の例は、TestVM という名前の VM をシャットダウンする方法を示しています。
Stop-VM -Name TestVM -ComputerName Server1
VM の移動
Move-VM
コマンドレットは、VM を別のマシンに移動します。 詳細については、 Move-VM リファレンス ドキュメントを参照してください。
次の例は、VM が Server1 の SMB 共有に格納されている場合に、VM を Server2 に移動する方法を示しています。
Move-VM -ComputerName Server1 -Name VM1 -DestinationHost Server2
次の例は、Server1 から Server2 に VM を移動し、その VM に関連付けられているすべてのファイルをリモート コンピューターの D:\VM_name に移動する方法を示しています。
Move-VM -ComputerName Server1 -Name VM1 -DestinationHost Server2 -IncludeStorage -DestinationStoragePath D:\VM_name
VM をインポートまたはエクスポートする
Import-VM
と Export-VM
のコマンドレットで、VM のインポートとエクスポートを行います。 次にいくつかの例を示します。 詳細については、 Import-VM と Export-VM の リファレンス ドキュメントを参照してください。
次の例は、VM をその構成ファイルからインポートする方法を示しています。 VM はインプレースで登録されているため、そのファイルはコピーされません。
Import-VM -ComputerName Server1 -Name VM1 -Path 'C:\<vm export path>\2B91FEB3-F6F0-4FFF-B8BE-29CED892A95A.vmcx'
次の例では、D ドライブのルートに VM をエクスポートします。
Export-VM -ComputerName Server1 -Name VM1 -Path D:\
VM の名前を変更する
VM の名前を変更するには、Rename-VM
コマンドレットを使用します。 詳細については、 RENAME-VM リファレンス ドキュメントを参照してください。
次の例では、VM1 の名前を VM2 に変更し、名前が変更された VM を表示します。
Rename-VM -ComputerName Server1 -Name VM1 -NewName VM2
VM チェックポイントを作成する
VM のチェックポイントを作成するには、Checkpoint-VM
コマンドレットを使用します。 詳細については、 Checkpoint-VM リファレンス ドキュメントを参照してください。
次の例では、Test1 という名前の VM の BeforeInstallingUpdates という名前のチェックポイントを作成します。
Checkpoint-VM -ComputerName Server1 -Name Test1 -SnapshotName BeforeInstallingUpdates
VM 用の VHD を作成する
VM の新しい VHD を作成するには、New-VHD
コマンドレットを使用します。 使用方法の詳細については、 New-VHD リファレンス ドキュメントを参照してください。
VM にネットワーク アダプターを追加する
VM に仮想ネットワーク アダプターを追加するには、Add-VMNetworkAdapter
コマンドレットを使用します。 次にいくつかの例を示します。 使用方法の詳細については、 Add-VMNetworkAdapter リファレンス ドキュメントを参照してください。
次の例では、VM1 という名前の仮想マシンに Redmond NIC1 という名前の仮想ネットワーク アダプターを追加します。
Add-VMNetworkAdapter -ComputerName Server1 -VMName VM1 -Name "Redmond NIC1"
次の例では、VM1 という名前の仮想マシンに仮想ネットワーク アダプターを追加し、Network という名前の仮想スイッチにそれを接続します。
Add-VMNetworkAdapter -ComputerName Server1 -VMName VM1 -SwitchName Network
VM の仮想スイッチを作成する
VM ホスト上の新しい仮想スイッチの作成には、New-VMSwitch
コマンドレットを使用します。 使用方法の詳細については、 New-VMSwitch リファレンス ドキュメントを参照してください。
次の例では、"QoS Switch" という新しいスイッチを作成します。これは、Wired Ethernet Connection 3 というネットワーク アダプターにバインドされ、重みベースの最小帯域幅をサポートします。
New-VMSwitch "QoS Switch" -NetAdapterName "Wired Ethernet Connection 3" -MinimumBandwidthMode Weight
VM のメモリを設定する
VM のメモリを構成するには、Set-VMMemory
コマンドレットを使用します。 使用方法の詳細については、 Set-VMMemory リファレンス ドキュメントを参照してください。
次の例では、VM1 という名前の VM の動的メモリを有効にし、その最小、起動、最大の各メモリ、そのメモリ優先度、およびそのバッファーを設定します。
Set-VMMemory -ComputerName Server1 -Name VM1 -DynamicMemoryEnabled $true -MinimumBytes 64MB -StartupBytes 256MB -MaximumBytes 2GB -Priority 80 -Buffer 25
VM の仮想プロセッサを設定する
VM の仮想プロセッサを構成するには、Set-VMProcessor
コマンドレットを使用します。 使用方法の詳細については、 Set-VMProcessor のリファレンス ドキュメントを参照してください。
次の例では、VM1 という名前の VM を、2 つの仮想プロセッサ、予約 10%、制限 75%、相対的な重み 200 で構成します。
Set-VMProcessor -ComputerName Server1 -Name VM1 -Count 2 -Reserve 10 -Maximum 75 -RelativeWeight 200
VM を削除する
PowerShell を使用して VM を削除または削除すると、VM の構成ファイルは削除されますが、関連付けられている仮想ハード ドライブは削除されません。 仮想ハード ドライブを含むすべてのファイルを含む VM を削除する場合は、 Windows Admin Center の使用を検討してください。
VM を削除する前に、VM が OFF になっていることを確認します。 VM を削除すると、構成ファイルが元に戻すことはできません。
マシンから VM を削除する
マシンから VM とそのリソースを削除するには、まず、次のコマンドレットを使用して、マシン上のすべての VM を検索します。
Get-VM -Name VM1
次に、マシンから削除する VM ごとに次のコマンドレットを実行します。
Remove-VM -Name VM1
システムから VM を削除する
VM とそのリソースをシステムから削除または削除するには、まず次のコマンドレットを使用して VM とそのリソースを見つけます。
Get-ClusterGroup
次に、システムから削除する VM ごとに次のコマンドレットを実行します。
Remove-ClusterGroup -RemoveResources -Name VM1
次のステップ
Windows Admin Center を使用して、VM を作成および管理することもできます。 詳細については、「 Windows Admin Center」を参照してください。