通过WMI实现Hyper-V的远程管理
【摘要】
最近公司需要做Hyper-V的远程管理,可以实现启动、重启、关闭Hyper-V上面的虚拟机以及监控虚拟机运行的状态等。查阅了很多资料,最终决定通过调用的WMI包来实现。
【正文】
一Python实现Hyper-V的远程管理1、连接服务器并获取WMI对象
conn = wmi.WMI(computer=ipaddress,namespace='Root\\virtualization\\v2',user=username,password=password)2、获取虚拟机列表信息conn.query("select Name,ElementName,Status,EnabledState from Msvm_ComputerSystem")
Msvm_ComputerSystem是用来保存Hyper-V虚拟机的信息的类,该类的属性如下:
[Dynamic,
Provider("VmmsWmiInstanceAndMethodProvider")]
class
Msvm_ComputerSystem : CIM_ComputerSystem
{
string Caption;
string Description;
string ElementName;
datetime InstallDate;
uint16 OperationalStatus[];
string StatusDescriptions[];
string Status;
uint16 HealthState = 5;
uint16 E