PowerShell management Library for Hyper-Vの利用

以上の準備ができたら、PowerShellから「Import-Module hyperv」と実行するだけで、PowerShell management Library for Hyper-Vが利用できるようになる。Hyper-Vの基礎知識があれば、使い方はそれほど難しくないはずだ。

すべてのコマンドレットには、VMまたはVHDの文字列が含まれるので、Get-Command *VM*やGet-Command *VHD* コマンドを実行すれば一覧が表示される。ヘルプを表示したければ、他のコマンドレットと同様、Get-Helpを実行する。

PowerShellでしかできないことはほとんどない。しかし、PowerShellを使えば、繰り返しや条件によって動作を変えることができる。これは他に代え難い利点だろう。

なお、Hyper-V 2.0のドキュメントによれば「2TBを超える容量固定ディスクを指定するにはGUI管理ツールでは駄目でAPIを呼べ」とある。つまりPowerShellのスクリプトならできるようだが、手元にそんな巨大なディスク装置はないので試せない。

さて、思ったよりも準備に手間取ってしまったが、ここでいくつか実行例を紹介しよう。

仮想マシンの一覧

PowerShell management LibraryとSCVMMには同名のコマンドレットGet-VMがある。ただし、SCVMMの方が情報量は圧倒的に多い。

仮想マシンの作成

PowerShell management Libraryでは、New-VMコマンドレットで空の仮想マシンを作成し、Set-VMで属性の設定、Add-NewVMHardDiskで仮想ディスクを追加、Choose-VMNICで仮想ネットワークを選択する。

複数の手順が必要なので少々面倒だが、一度スクリプトを作ってしまえば再利用できるので、あとは楽になる。また、Show-VMMenuコマンドレットのパラメータとして仮想マシンを指定すればメニューベースで構成ができる

Show-VMMenuコマンドレットの実行例

仮想マシンの起動と停止

仮想マシンの起動はStart-VM、停止はStop-VM、その他状態の保存やスナップショットの作成もコマンドレットから行える。

System Center Virtual Machine Manager 2008 R2の利用

System Center Virtual Machine Manager(SCVMM)は、Hyper-VとVirtual Serverの管理製品で、最新バージョンはSCVMM 2008 R2である。

SCVMMはGUIの管理ツールを持つが、内部でPowerShellスクリプトに変換してから実行する。SCVMMが使うPowerShellコマンドレットはSCVMM管理ツール以外からも使える。そのため、SCVMMを使えばPowerShell management Library for Hyper-Vよりも高度な作業が簡単に実行できる。

System Center Virtual Machine Manager 2008 および Virtual Machine Manager 2008 R2
http://technet.microsoft.com/ja-jp/library/cc917964.aspx