vboxinfo.vbs revision b9298a97f790b556ab1ba0720c57e377e6063ea5
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync'
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync' Copyright (C) 2009 Sun Microsystems, Inc.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync'
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync' This file is part of VirtualBox Open Source Edition (OSE), as
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync' available from http://www.virtualbox.org. This file is free software;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync' you can redistribute it and/or modify it under the terms of the GNU
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync' General Public License (GPL) as published by the Free Software
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync' Foundation, in version 2 as it comes in the "COPYING" file of the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync' VirtualBox OSE distribution. VirtualBox OSE is distributed in the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync' hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync'
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync' Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync' Clara, CA 95054 USA or visit http://www.sun.com if you need
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync' additional information or have any questions.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync'
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncSub Print(str)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Wscript.Echo str
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEnd Sub
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncSub StartVm(vb, mach)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Dim session, progress
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Set session = CreateObject("VirtualBox.Session")
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Set progress = vb.openRemoteSession(session, mach.id, "gui", "")
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync progress.waitForCompletion(-1)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync session.close()
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEnd Sub
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncSub StopVm(vb, mach)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Dim session, progress
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Set session = CreateObject("VirtualBox.Session")
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync vb.openExistingSession session, mach.id
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync session.console.powerDown().waitForCompletion(-1)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync session.close()
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEnd Sub
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncSub Main
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Dim vb, mach
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync set vb = CreateObject("VirtualBox.VirtualBox")
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Print "VirtualBox version " & vb.version
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ' Safe arrays not fully functional from Visual Basic Script, as we
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ' return real safe arrays, not ones wrapped to VARIANT and VBS engine
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ' gets confused. Until then, explicitly find VM by name.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ' May wish to use hack like one described in
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ' http://www.tech-archive.net/Archive/Excel/microsoft.public.excel.programming/2006-05/msg02796.html to handle safearrays
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ' if desperate
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Set mach = vb.findMachine("Win")
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Print "Machine: " & mach.name & " ID: " & mach.id
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync StartVm vb, mach
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEnd Sub
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncMain
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync