次の方法で共有


Hyper-V と Windows PowerShell の使用

Hyper-V の展開、仮想マシンの作成、仮想マシンの管理の基本を確認できたので、次は PowerShell でこれらの作業の大半を自動化する方法について説明します。

HYPER-V のコマンドの一覧を返す

  1. Windows の [スタート] ボタンをクリックし、「PowerShell」と入力します。
  2. 次のコマンドを実行すると、Hyper-V PowerShell モジュールで利用できる PowerShell コマンドの検索可能な一覧が表示されます。
Get-Command -Module hyper-v | Out-GridView

次のような一覧になります。

[コマンドの種類]、[名前]、[バージョン]、および [ソース] フィールドを示す Out Grid View のスクリーンショット。

  1. 特定の PowerShell コマンドの詳細を確認するには、Get-Help を使用します。 たとえば、次のコマンドを実行すると、Get-VM Hyper-V コマンドに関する情報が返されます。
Get-Help Get-VM

コマンドを構築する方法、必須と任意のパラメーター、および使用できるエイリアスが出力されます。

コマンドを構成する方法の出力を示す、管理者 Windows Power Shell 画面のスクリーンショット。

仮想マシンの一覧を返す

仮想マシンの一覧を返すには、Get-VM コマンドを使用します。

  1. PowerShell で次のコマンドを実行します。
Get-VM

次のような出力が表示されます。

Get VM を入力した後の出力を示す、管理者 Windows Power Shell 画面のスクリーンショット。

  1. 電源がオンになっている仮想マシンのみの一覧を返す場合、Get-VM コマンドにフィルターを追加します。 Where-Object コマンドを使用してフィルターを追加できます。 フィルター処理の詳細については、Where-Object の使用に関するドキュメントをご覧ください。
Get-VM | where {$_.State -eq 'Running'}
  1. 電源オフ状態のすべての仮想マシンの一覧を表示するには、次のコマンドを実行します。 このコマンドは、手順 2 のコマンドのコピーであり、フィルターが 'Running' から 'Off' に変更されています。
Get-VM | where {$_.State -eq 'Off'}

仮想マシンの起動とシャット ダウン

  1. 特定の仮想マシンを起動するには、仮想マシンの名前を指定して次のコマンドを実行します。
Start-VM -Name <virtual machine name>
  1. 現在電源がオフになっているすべての仮想マシンを起動するには、そのようなマシンの一覧を取得し、Start-VM コマンドに対して一覧を渡します。
Get-VM | where {$_.State -eq 'Off'} | Start-VM
  1. 実行中のすべての仮想マシンをシャットダウンするには、次を実行します。
Get-VM | where {$_.State -eq 'Running'} | Stop-VM

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 展開を追加できます。

  1. PowerShell ISE を開くには、[スタート] をクリックし、「PowerShell ISE」と入力します。
  2. 次のコードを実行し、仮想マシンを作成します。 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 コマンドレット」を参照してください。