SCVMMのJobGroupについて

TechEd Japan 2010のセッションを担当させていただくに当たり、自分が作ったスライドを眺めていたら、
スクリプトを紹介するスライドの中で、JobGroupというのを多用していることに気が付きました。
JobGroupって?ということもあるかと思い、こちらに書き留めておくことにしました。

JobGroupとは、SCVMMで行う操作に対して割り当てることができるIDのことで、
JobGroupのIDを使うことで、ひとつのジョブで複数の処理を行うよう指定することができます。
例えば、ハードウェアプロファイルをPowerShellから作成する場合、
・DVDドライブを作成する
・仮想NICを作成する
・メモリの割り当てをする
などの設定を個々のコマンドレットで実行していきます。
このとき、個々のコマンドレットをバラバラに実行するのではなく、ひとつのジョブの括りで実行したい場合、
JobGroupというIDを生成しておき(下表の4行目部分)、そのIDを個々のコマンドレットのオプション-JobGroupで指定します。

$HWName = “test1
$MemoryMB = 1024

$JobGroupID = [System.Guid]::NewGuid()
New-VirtualDVDDrive -Bus 1 -Lun 0 -JobGroup $JobGroupID
New-VirtualNetworkAdapter -EthernetAddressType Dynamic -NoConnection -JobGroup $JobGroupID
$HWProfile = New-HardwareProfile -Name $HWName -MemoryMB $MemoryMB -JobGroup $JobGroupID

表 – ハードウェアプロファイルを作成するスクリプト(赤字部分は環境に合わせて変えてください) 

実行すると、一連の処理がひとつのジョブとして実行されるようになります。
管理者コンソールで確認すると、ご覧のとおりです。

hwprofile 

管理者コンソールから何かの操作を行ったとき、ウィザードの最後に出てくるPowerShellスクリプトを
見てみると、勝手にJobGroupのIDが割り当てられていたりするけれど、それはこういうことだったのですね。

ちなみに、JobGroupはすべてのコマンドレットで使えるわけではなく、
利用できるコマンドレットは限られているようです。そのことがTechNetフォーラムで紹介されています。

http://social.technet.microsoft.com/Forums/en-US/virtualmachinemanager/thread/ab1e7054-69c7-44ee-a475-229f9557b653