在vmware的PowerCLI和微软的scvmm的PowerShell中可以通过Get-VM命令来获取虚拟机的信息。下面我们用代码的方式去实现,代码相关类方法就是对命令的封装。

vmware api的调用方式:

#region  vm status
public VirtualMachineOperationEnum GetVMStatus(string vmName)
{
ManagedObjectReference vmMor = util.getServiceUtil().getEntityByName("VirtualMachine", vmName);
VirtualMachineRuntimeInfo info = (VirtualMachineRuntimeInfo)util.getServiceUtil().GetDynamicProperty(vmMor, "runtime");
switch (info.powerState)
{
case VirtualMachinePowerState.poweredOn:
return VirtualMachineOperationEnum.On;
case VirtualMachinePowerState.poweredOff:
return VirtualMachineOperationEnum.Off;
case VirtualMachinePowerState.suspended:
return VirtualMachineOperationEnum.Suspend;
default:
return VirtualMachineOperationEnum.Fault;
}
}
#endregion

微软api的调用方式:

 #region  vm status
public VirtualMachineOperationEnum GetVMStatus(string vmName)
{
try
{
switch (client.GetVirtualMachineByName(vmName).Status)
{
case DataContracts.VMComputerSystemStateInfo.Running:
return VirtualMachineOperationEnum.On;
case DataContracts.VMComputerSystemStateInfo.Paused:
return VirtualMachineOperationEnum.Paused;
case DataContracts.VMComputerSystemStateInfo.PowerOff:
return VirtualMachineOperationEnum.Off;
default:
return VirtualMachineOperationEnum.Fault;
}
}
catch { return VirtualMachineOperationEnum.Fault; }
}
#endregion

获取hyper-v和vmware虚机状态的更多相关文章

  1. 云与备份之(1):VMware虚机备份和恢复

    本系列文章会介绍云与备份之间的关系,包括: (1)VMware 虚机备份和恢复 (2)KVM 虚机备份和恢复 (3)云与备份 (4)OpenStack 与备份 (5)公有云与备份 1. 与备份有关的V ...

  2. openstack 虚机热迁移问题:虚机状态一直处于迁移中的情况处理

    前提:在偶尔的虚机热迁移中,发现虚机一直属于迁移状态中. 但是查看后台流量监控,发现没有流量已经下来了.然后在目标机器上查看,发现kvm已经在目标机器上. 1.查看kvm 实际所处宿主机方法: a.拿 ...

  3. 本地访问Vmware虚机Web网站

    情况:公司是域环境,Vmware网络设置的是NAT连接模式,里外装的都是Windows,虚机网络IP地址是自动获取的. 查看: 1.虚机Ping本地的IP地址可以Ping通: 2.本地Ping虚机的I ...

  4. 将物理机转换成vmware虚机

    随着虚拟化的快速发展,公司主要是以公有云+私有云结合的混合云部署,据我不成熟的了解,目前很少有公司会将一台单独的物理机作为服务器,在公司内部大家逐渐接受了私有云的部署方案,这样做不但可以节省硬件资源, ...

  5. vmWare 虚机文件不能启动的事故处理

    由于公司停电,导致几十台vmWare虚拟机器启动报错. 错误:Failed to power on virtual machine XXX. Failed to lock the file Click ...

  6. VMWare 虚机迁移后Linux系统网卡启动问题

    重新安装VMWare或拷贝虚机文件后有时网卡会无法工作,主要是因为网卡的Mac地址改变了,如果系统中的网卡配置信息中有Mac的信息,则虚机的系统的网卡可能无法正常工作. 如果出现上述问题,解决办法如下 ...

  7. vmware 虚机NAT模式,局域网可访问

    本地VMware虚拟机,网络模式为NAT,现在需要局域网其他电脑通过ssh连接这台VMware虚拟机 宿主机地址:192.168.3.26 VMware虚拟机地址:192.168.239.137 局域 ...

  8. vmware虚机 修改bios方法

    .vmx文件添加以下行,会在下次启动时自动出现bios,并会将"TRUE"改为“false” bios.forceSetupOnce = "TRUE"

  9. 自带hyper -v 或者 Vmware安装Linux centos

    centos系统存在网盘,链接: https://pan.baidu.com/s/1A5ywyLjIegcftaT_xCvPbA 密码: n6v4 https://blog.csdn.net/nanc ...

随机推荐

  1. 关于OpenGL Framebuffer Object、glReadPixels与离屏渲染

    最近写论文需要用到离屏渲染(主要是因为模型太大普通窗口绘制根本做不了),于是翻阅了红宝书查了下相关api和用法.中文版的红宝书可读性有点差,很多地方翻译地晦涩,但好歹读起来比较快,主要相关章节为第8章 ...

  2. Rhythmk 一步一步学 JAVA (13) Spring-2 之Ben懒加载以及生命周期,单例

    1.定义Demo类: package com.rhythmk.spring; public class User { public void Init () { System.out.println( ...

  3. 修改android Studio SDK 路径产生的问题(模拟器不能启动了)

    原因:将 c:\user\admin\appdata\android\sdk 修改为 F:\AndroidProgram\Sdk 原来的虚拟机不能用了,要新建虚拟机才可以.

  4. application-defined exception

    dataSnap服务器,客户端调用的时候写错了一句话, SQLConnection1->CloneConnection(); 改为 SQLConnection1->Close(); 就好了 ...

  5. Expect 小脚本

    简介: Expect 可以替系统管理员完成与系统的交互式操作 shell > yum -y install expect # 可以通过 yum 安装 shell > which expec ...

  6. 后端生成二维码 - C#生成二维码(QR)

    最近在github上找到一个相对比较好的C#二维码生成类库.在这里和大家分享一下. github地址:https://github.com/codebude/QRCoder 把解决方案下载下来,编译生 ...

  7. nginx 真实ip

    server { listen       80; server_name  localhost; location /{ root   html; index  index.html index.h ...

  8. CSS的编写规范

    一.前言 如上图,页面在渲染和画图时,耗时还是比较多的,这就对我们的编写要求愈加严格. 我们有很多方法来减少上图所示的页面加载耗时的,比如 但是更多的还是在于平时的编写规范,我们需要了解浏览器,让他更 ...

  9. java-tip-HashMap

    HashMap的基本查找过程: 先使用key.hashCode()生成哈希值,根据哈希值来确定key存放的位置 找到key在数组中的位置后,再使用key.equals()方法来找到指定的key. 1. ...

  10. Opencv 发现轮廓 findContours

    vector<vector<Point>> vec_p; vector<Vec4i> vec_4f; findContours(img_canny1, vec_p, ...