kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Windows Server 2008 R2のHyper-V VHDをコピーする

この記事はPowerShell Advent Calendar 2014の12/6分の記事です。


PowerShell Advent Calendar 2014 : ATND

Hyper-VをPowerShellでコントロールする方法は以下の二つの方法があります。

・System Center Virtual Machine Manager(SCVMM)を使う(全OS対象)

・OS組み込みのコマンドレットを使う(Windows Server 2012以降)

これで困るのがSCVMM管理下にない、Windows Server 2008 / 2008 R2環境。めんどくさいWMIを使う必要があります。それは困るので何とかしたいということで作られたのがPSHyperVというオープンソースプロジェクト。


PowerShell Management Library for Hyper-V - Home

Windows Server 2008 / 2008 R2専用です。なぜかといえば、WMIの名前空間に互換性がないのと、2012以降は専用コマンドレットがあるためだと思います。今でもかなり使われているようでdiscussionには最近でも書き込みが見られます。

Windows Server 2012のコマンドレットと多少似ていますが、メンバーとかはかなり違うので、スクリプトをそのまま持っていくことはできないので、注意してください。ということで、サンプル代わりのバックアップ対象のVMのVHDを指定のフォルダにコピーするというスクリプトです。

素直にexport-vm使ってもいいのですが、もともとあまり安定しなかったWindows Backupの変わりなのでこんな感じでVHDのコピーをやってます。

Hyper-V's VHD backup only Windows Server 2008 R2. ...