Hyper-V と Windows PowerShell の使用
Hyper-V の展開、仮想マシンの作成、仮想マシンの管理の基本を確認できたので、次は PowerShell でこれらの作業の大半を自動化する方法について説明します。
HYPER-V のコマンドの一覧を返す
Windows の [スタート] ボタンを選んで、「PowerShell」と入力します。
次のコマンドを実行すると、Hyper-V PowerShell モジュールで利用できる PowerShell コマンドの検索可能な一覧が表示されます。
Get-Command -Module hyper-v | Out-GridView
次のような一覧になります。
特定の PowerShell コマンドの詳細を確認するには、
Get-Help
を使用します。 たとえば、次のコマンドを実行すると、Get-VM
Hyper-V コマンドに関する情報が返されます。Get-Help Get-VM
コマンドを構築する方法、必須と任意のパラメーター、および使用できるエイリアスが出力されます。
仮想マシンの一覧を返す
仮想マシンの一覧を返すには、Get-VM
コマンドを使用します。
PowerShell で次のコマンドを実行します。
Get-VM
次のような出力が表示されます。
電源がオンになっている仮想マシンのみの一覧を返す場合、
Get-VM
コマンドにフィルターを追加します。Where-Object
コマンドを使用してフィルターを追加できます。 フィルター処理について詳しくは、Where-Object の使用に関する記事をご覧ください。Get-VM | where {$_.State -eq 'Running'}
電源オフ状態のすべての仮想マシンの一覧を表示するには、次のコマンドを実行します。 このコマンドは、手順 2 のコマンドのコピーであり、フィルターが 'Running' から 'Off' に変更されています。
Get-VM | where {$_.State -eq 'Off'}
仮想マシンの起動とシャット ダウン
特定の仮想マシンを起動するには、仮想マシンの名前を指定して次のコマンドを実行します。
Start-VM -Name <virtual machine name>
現在電源がオフになっているすべての仮想マシンを起動するには、そのようなマシンの一覧を取得し、
Start-VM
コマンドに対して一覧を渡します。Get-VM | where {$_.State -eq 'Off'} | Start-VM
実行中のすべての仮想マシンをシャットダウンするには、次のコマンドを実行します。
Get-VM | where {$_.State -eq 'Running'} | Stop-VM
仮想マシンのチェックポイントを作成する
PowerShell を使用してチェックポイントを作成するには、Get-VM
コマンドを使用して仮想マシンを選択し、それを Checkpoint-VM
コマンドに渡します。 最後に、-SnapshotName
を使用してチェックポイントに名前を付けます。 完全なコマンドは次のようになります。
Get-VM -Name <VM Name> | Checkpoint-VM -SnapshotName <name for snapshot>
新しい仮想マシンを作成します
次の例は、PowerShell Integrated Scripting Environment (ISE) で新しい仮想マシンを作成する方法を示しています。 これは単純な例であり、拡張して PowerShell 機能やより高度な VM 展開を追加できます。
PowerShell ISE を開くには、[スタート] をクリックし、「PowerShell ISE」と入力します。
次のコードを実行し、仮想マシンを作成します。
New-VM
コマンドの詳細については、New-VM ドキュメントを参照してください。$VMName = "VMNAME" $VM = @{ Name = $VMName MemoryStartupBytes = 2147483648 Generation = 2 NewVHDPath = "C:\Virtual Machines\$VMName\$VMName.vhdx" NewVHDSizeBytes = 53687091200 BootDevice = "VHD" Path = "C:\Virtual Machines\$VMName" SwitchName = (Get-VMSwitch).Name } New-VM @VM
まとめと参照
このドキュメントはいくつかのサンプル シナリオと同様に、HYPER-V の PowerShell モジュールに、エクスプ ローラーにいくつかの簡単な手順を説明しました。 Hyper-V PowerShell モジュールの詳細については、「Windows PowerShell リファレンスの Hyper-V コマンドレット」を参照してください。