首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >你能用PySphere得到一个客户操作系统吗?

你能用PySphere得到一个客户操作系统吗?
EN

Stack Overflow用户
提问于 2015-01-09 17:15:42
回答 1查看 841关注 0票数 1

我想在我的VMServer上找到所有的Linux机器。

我可以运行以下命令来获得所有VM的列表。

代码语言:javascript
复制
vms = server.get_registered_vms()
mylist = []
for vm in vms:
    virtual_machine = server.get_vm_by_path(vm)
    mylist.append(virtual_machine.get_properties)
    print vm

但是有什么方法可以抓住VMServer的客户操作系统吗?也就是说,我不想要一个需要机器打开并且需要输入大量密码的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-12 20:18:26

PySphere提供了get_property(property_name)方法。如果设置了属性guest_full_name,您可以在这里找到它。

从医生那里:

代码语言:javascript
复制
>>> vm1.get_properties()
{'guest_id': 'ubuntuGuest',
 'path': '[DataStore1] Ubuntu/Ubuntu-10.vmx',
 'guest_full_name': 'Ubuntu Linux (32-bit)',
 'name': 'Ubuntu 10.10 Desktop 2200',
 'mac_address': '00:50:56:aa:01:a7'
}

因此,要向脚本添加内容,您可以这样做:

代码语言:javascript
复制
vms = server.get_registered_vms()
mylist = []
for vm in vms:
    virtual_machine = server.get_vm_by_path(vm)
    guest_os = virtual_machine.get_property('guest_full_name')
    if server_guest_is_linux(guest_os):
        mylist.append(virtual_machine)
        print vm

def server_guest_is_linux(guest_os):
    if 'linux' in guest_os.lower() \
            or 'ubuntu' in guest_os.lower() \
            or 'centos' in guest_os.lower():
        return True
    return False
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27865764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档