情報源
Virtual PC Guy's Blogの Listing virtual machines under Powershellを参考に、COMインタフェースを使って書いてみる。
どんな言語で書こうか悩みつつ
スクリプト
コードネーム monad と呼ばれていた PowerShell を使って書いてみた。とりあえず Win7_1 や Win7_2 という名前の仮想マシンを起動するには以下のようなスクリプトでよい。
$vpc = new-object com VirtualPC.Application
$vpc.FindVirtualMachine("Win7_1").startup()
$vpc.FindVirtualMachine("Win7_2").startup()
ただし、PowerShell スクリプトを Windows 7 で実行するには、署名をするか、セキュリティを下げるかしないといけない。
そこで、我らが VBScript を使って書いてみた
Set vpc = CreateObject("VirtualPC.Application")
Set vm = vpc.FindVirtualMachine("Win7_1")
If vm.State = 1 Then
vm.startup()
ElseIf vm.State = 2 Then
vm.startup()
ElseIf vm.State = 6 Then
vm.Resume
End If
Set vm = vpc.FindVirtualMachine("Win7_2")
If vm.State = 1 Then
vm.startup()
ElseIf vm.State = 2 Then
vm.startup()
ElseIf vm.State = 6 Then
vm.Resume
End If
なお、vm.State に合わせないと、 startup が失敗することがあった。ちょっと条件に合わせて、操作を変更している。これをスタートアップに登録してみた。
(2009/11/24 ソースコードを修正)
まとめ
Windows Virtual PC からは COM インタフェースで操作できるようになった。
詳しく見ると、いろいろなことができ、仮想マシンにキーイベントも送れるようである。今後の自動化などに興味がわいてくる


コメントする