使用python检索ESXI系统信息

问题描述

我正在尝试找出一种方法,仅从 ESXI 检索系统信息,以便检索服务标签或硬件序列号。

我已经在使用 python 并建立了连接。我只是不知道如何设置字段以打印出服务标签或序列号。目前使用 pyvmomipyvim

解决方法

您将需要发送或以其他方式执行一行 shell 脚本以运行 esxcfg-info 命令和 grep 以获取包含“Serial N”的行。然后,您必须使用 cut 或 awk 来提取所需的行部分。与任何此类项目一样,您必须进行一些试验才能找到适用于您的特定 ESXi 版本的内容,但它可能类似于“esxcfg-info | grep 'Serial N'”。请注意,ESXi 不支持 bash,仅支持 ash,因此如果您通过 shell 脚本发送,请将其设为 Bourne shell 脚本 (sh)。

更详细的讨论可以参考https://communities.vmware.com/t5/ESXi-Discussions/How-can-I-find-the-serial-number-of-my-Hardware/td-p/1323280。一般来说,VMware 社区的讨论会持续多年,因为 VMware 的客户是大型企业,他们希望找到答案而不是死链接,但最终可能会发生变化。如果是这样,您可能会比在那里搜索答案更糟糕。

最后,上述链接指出,如果您有一个非常旧版本的 ESXi(例如 4.0 或更早版本),您可能可以使用“smbiosDump”,但您必须四处寻找才能确定要 grep 的内容.我已经有十多年没有看到这么旧的系统了,所以我无法提供更多指导。