获取所有VM主机名

时间:2014-05-06 20:00:34

标签: python vsphere

我需要使用pysphere获取驻留在两个ESXI服务器上的所有VM的所有主机名列表。我尝试使用基本方法,但无法在测试中使用以下命令获取主机名:

from pysphere import VIServer
server = VIServer()
server.connect("192.168.0.19", "user-name", "password")
vmlist = server.get_registered_vms()
vm1 = server.get_vm_by_path(
    "[datastore1] Ubuntu 14.04 64-bit .160/Ubuntu 14.04 64-bit    .160.vmx")
vm1.get_property('hostname')

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

您可以像这样使用ntpath和os模块的组合

import os
import ntpath
for i in vmlist:
    print os.path.splitext(ntpath.basename(i))[0]