获取所有虚拟机主机名

0 投票
1 回答
1315 浏览
提问于 2025-04-18 05:35

我需要获取两个ESXI服务器上所有虚拟机的主机名列表,想用pysphere来实现。我尝试了一些基本的方法,但在测试中无法获取到主机名,使用的是:

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

你可以像这样结合使用ntpath和os模块。

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

撰写回答