d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync'
c7814cf6e1240a519cbec0441e033d0e2470ed00vboxsync' Copyright (C) 2009-2010 Oracle Corporation
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync'
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync' This file is part of VirtualBox Open Source Edition (OSE), as
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync' available from http://www.virtualbox.org. This file is free software;
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync' you can redistribute it and/or modify it under the terms of the GNU
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync' General Public License (GPL) as published by the Free Software
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync' Foundation, in version 2 as it comes in the "COPYING" file of the
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync' VirtualBox OSE distribution. VirtualBox OSE is distributed in the
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync' hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync'
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsyncSub Print(str)
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync Wscript.Echo str
b9298a97f790b556ab1ba0720c57e377e6063ea5vboxsyncEnd Sub
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsyncSub StartVm(vb, mach)
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync Dim session, progress
b9298a97f790b556ab1ba0720c57e377e6063ea5vboxsync
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync Set session = CreateObject("VirtualBox.Session")
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync Set progress = vb.openRemoteSession(session, mach.id, "gui", "")
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync progress.waitForCompletion(-1)
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync session.close()
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsyncEnd Sub
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsyncSub StopVm(vb, mach)
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync Dim session, progress
b9298a97f790b556ab1ba0720c57e377e6063ea5vboxsync
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync Set session = CreateObject("VirtualBox.Session")
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync vb.openExistingSession session, mach.id
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync session.console.powerDown().waitForCompletion(-1)
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync session.close()
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsyncEnd Sub
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsyncSub Main
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync Dim vb, mach
b9298a97f790b556ab1ba0720c57e377e6063ea5vboxsync
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync set vb = CreateObject("VirtualBox.VirtualBox")
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync Print "VirtualBox version " & vb.version
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync
b9298a97f790b556ab1ba0720c57e377e6063ea5vboxsync ' Safe arrays not fully functional from Visual Basic Script, as we
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync ' return real safe arrays, not ones wrapped to VARIANT and VBS engine
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync ' gets confused. Until then, explicitly find VM by name.
b9298a97f790b556ab1ba0720c57e377e6063ea5vboxsync ' May wish to use hack like one described in
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync ' http://www.tech-archive.net/Archive/Excel/microsoft.public.excel.programming/2006-05/msg02796.html to handle safearrays
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync ' if desperate
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync Set mach = vb.findMachine("Win")
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync Print "Machine: " & mach.name & " ID: " & mach.id
b9298a97f790b556ab1ba0720c57e377e6063ea5vboxsync
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync StartVm vb, mach
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsyncEnd Sub
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsync
d8a22c2ad3ccd177ad5cf49d3276cdf3edcb0ec5vboxsyncMain