获取当前正在运行的虚拟机(Vmware Workstation),并对虚拟机进行控制(.Net)

原创 2016年06月30日 16:08:09

vmware workstation 提供了一个命令行工具进行虚拟机管理

C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe

用法如下:

POWER COMMANDS           PARAMETERS           DESCRIPTION
--------------           ----------           -----------
start                    Path to vmx file     Start a VM or Team
                         [gui|nogui]

stop                     Path to vmx file     Stop a VM or Team
                         [hard|soft]

reset                    Path to vmx file     Reset a VM or Team
                         [hard|soft]

suspend                  Path to vmx file     Suspend a VM or Team
                         [hard|soft]

pause                    Path to vmx file     Pause a VM

unpause                  Path to vmx file     Unpause a VM
GENERAL COMMANDS         PARAMETERS           DESCRIPTION
----------------         ----------           -----------
list                                          List all running VMs

upgradevm                Path to vmx file     Upgrade VM file format, virtual hw

installTools             Path to vmx file     Install Tools in Guest

checkToolsState          Path to vmx file     Check the current Tools state

register                 Path to vmx file     Register a VM

unregister               Path to vmx file     Unregister a VM

listRegisteredVM                              List registered VMs

deleteVM                 Path to vmx file     Delete a VM

clone                    Path to vmx file     Create a copy of the VM
                         Path to destination vmx file
                         full|linked
                         [-snapshot=Snapshot Name]
                         [-cloneName=Name]
更多的参数可以直接运行vmrun命令查看(不带参数)

.Net中,通过process.start来运行vmrun(带list参数) ,获取该命令的标准输出重定向即可获得当前正在运行的vmware虚拟机列表,然后可根据不同需求(stop、suspend、pause等),带上对应的参数进行虚拟机操作。

        Dim strPathShutdown As String = ConfigurationManager.AppSettings("shutdown"),
            strPathVmrun As String = ConfigurationManager.AppSettings("vmrun"),
            proc As New Process(),
            intVM As Integer,
            listVM As New List(Of String)
        proc.StartInfo = New ProcessStartInfo(strPathVmrun, "list")
        proc.StartInfo.RedirectStandardOutput = True
        proc.StartInfo.UseShellExecute = False
        proc.Start()
        Dim out As String = proc.StandardOutput.ReadToEnd()
        MsgBox(out)
        listVM = Split(out, vbCrLf).ToList
        listVM.RemoveAt(0)
        intVM = New System.Text.RegularExpressions.Regex("\d", RegexOptions.IgnoreCase).Match(out).Value
        For Each vm As String In listVM
            proc.StartInfo.Arguments = String.Format("suspend ""{0}""", vm)
            proc.Start()
        Next

vmrun的运行结果和对标准输出的解析


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

PLSQL连接Windows系统下的64位Oracle

以下方法对Windows下PLSQL Developer客户端连接不同版本Oracle都是通用的!       由于在本机Win7 X64上安装了64位的Oracle,结果试图使用PLSQL De...

.net 连接oracle的几种方式

    1、OracleClient方式,是微软专门针对Oracle数据库开发的,仅在 .NET Framework 1.1 版中受支持。据说速度快、性能好,是推荐使用的方式。但根据我的经验,当Ora...
  • yaucyj
  • yaucyj
  • 2010年09月21日 12:34
  • 29198

如何在esxi 6上面套嵌运行虚拟机(kvm、xen、esxi6、vmware workstation、Qemu)

在 VMware ESXi 虚拟机上运行虚拟机,被称为多层虚拟或者嵌套虚拟机(Nested VMs)。如果只有一台电脑想测试多节点 OpenStack 环境的话,使用 VMware ESXi 虚拟几个...
  • lic95
  • lic95
  • 2015年09月27日 08:50
  • 3223

WIN7上搭建Windows Phone 8 开发环境——VMware Workstation下Win8 “无法安装Hyper-V, 某个虚拟机监控程序正在运行”问题解决的办法

原地址:http://www.cnblogs.com/shaddock2013/p/3155024.html 最近在试着在Windows 7上搭建Windows Phone 8的开发调试环境,使...

为虚拟机中运行的VMware ESX 4进行快照

VMware ThinApp是一款应用程序虚拟化工具,但对于我来说用的更多的是制作单文件软件和便携软件。 VMware ThinApp将程序相关资源如exe、dll、ocx、注册表项等封装到单一...
  • ergouge
  • ergouge
  • 2012年04月30日 12:49
  • 564

安装虚拟机出现“正在进行简易安装时,无法手动启动vmware tools"以及出现解压vmware tools时,Read-only file system

晚上乱七八糟的帖子一大堆,真正能解决问题的没有几个。把自己遇到的问题记录下来,希望帮到大家。 在安装的虚拟机上装了ubutun64位系统,想安装VMware tools,在点击安装的时候出现“正在进行...

虚拟机(VMware Workstation)的使用方法

上篇讲到了虚拟机入门,这里继续,明白了虚拟机的作用。虚拟机该怎么使用。我们需要从思想到实践,需要对虚拟机有个整体感性的认识。 这里在啰唆一下,虚拟机的作用是什么,虚拟机虚拟了pc机所具有的硬件,包括...
  • zeusgis
  • zeusgis
  • 2014年10月17日 23:40
  • 188

VMware Workstation(虚拟机)桥接Bridge网络设置

转载▼ 一直以为自己已经真正掌握了Vmware虚拟化产品的原理与配置,没想到这二天却被一个基本的网络问题困扰了。 通过workstation建立的VM,无法通过bridge正常地连...

vmware workstation 12 实现虚拟机克隆,并修改相关配置

左侧栏,我的计算机,选择需要克隆的虚拟机,右键,管理->克隆 点击下一步,选择虚拟机中的当前状态(如果有快照也可选择快照,方法是右键虚拟机,快照->拍摄快照),下一步,选择创建完整克隆(克隆一份独...

vmware workstation虚拟机网络配置

在使用虚拟机的时候,有时候我们想自己定义虚拟机的ip的时候,就需要更改虚拟机设置,具体的配置如下: 第一步: 打开 vmware workstation虚拟机,编辑---->虚拟网络查看器 ,如下...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:获取当前正在运行的虚拟机(Vmware Workstation),并对虚拟机进行控制(.Net)
举报原因:
原因补充:

(最多只允许输入30个字)