python - 使用 python 检索 ESXI 系统信息
问题描述
我试图找出一种仅从 ESXI 检索系统信息的方法,这样我就可以检索服务标签或硬件的序列号。
我已经在使用 python 并建立了连接。我只是不知道如何设置字段以打印出服务标签或序列号。目前使用pyvmomi
和pyvim
。
解决方案
您将需要发送或以其他方式执行单行 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 的用途。自从我看到这么旧的系统以来已经十多年了,所以我无法提供更多指导。
推荐阅读
- javascript - Firebase 过滤消息
- amazon-web-services - dynamoDb 负载不适用于同时具有哈希键和范围键的表
- arrays - AngularFire - 如何将集合项推送到数组中
- python - python程序在不使用pandas DataFrame的情况下删除具有数字序列的重复字符串
- spring-integration - 如何使客户端使用自己的凭据动态验证 mqtt 代理
- powershell - Microsoft.PowerShell.Commands.WriteErrorException:进程“msbuild.exe”以代码“1”退出
- javascript - 用函数在js中编写html
- java - ContainerRequestFilter 中的 Java Access Rest 方法
- javascript - Nightwatch - 如何确定滚动顶部按钮是否有效?
- citrix - UiPath:Citrix 自动化问题