首先,我不确定这是否是正确的形式,但它似乎是最合适的。
对于管理自动化项目,我正在尝试识别网络中服务器上的电源单元。目前,我正在使用 PowerShell 脚本执行此操作。我尝试将 Get-WmiObject 与 CIM_PowerSupply、CIM_UninturruptiblePowerSupply 和 Win32_Battery 类一起使用,但每个都返回一个空集合。
这些命令的这种行为是否正常,如果是,是否有任何其他接口公开用于查询该硬件?
首先,我不确定这是否是正确的形式,但它似乎是最合适的。
对于管理自动化项目,我正在尝试识别网络中服务器上的电源单元。目前,我正在使用 PowerShell 脚本执行此操作。我尝试将 Get-WmiObject 与 CIM_PowerSupply、CIM_UninturruptiblePowerSupply 和 Win32_Battery 类一起使用,但每个都返回一个空集合。
这些命令的这种行为是否正常,如果是,是否有任何其他接口公开用于查询该硬件?
服务器,至少是我习惯的惠普和戴尔服务器,通常有一个内置于其中的单独管理网络的接口。在 HP 上,它被命名为 iLO(集成熄灯)。戴尔的是 iDRAC。这个想法是,它们通过以太网连接到 IP 网络,但通常通过 vlan 或通过物理分离与生产分开。这些管理界面使您能够访问硬件诊断、BIOS 设置以及远程查看 POST 过程的能力。这通常包括安装 iso 或远程可启动媒体的能力,并使用它来启动服务器,而无需与它在房间里,理论上可以从互联网上的任何地方。
但是,除非您使用管理系统,否则这些接口通常无法在服务器本身的操作系统内部访问。您尝试使用的 WMI 对象是用于 UPS 的对象,其中 UPS 通过专用连接(例如 USB 电缆)连接到服务器。此连接的目的是通知服务器在给定条件下关闭。
所以,简短的回答,是的,如果您的系统没有连接 UPS,这种行为是正常的。
要收集您需要的信息,您可能需要参考服务器上可用的任何管理系统(如果有)。否则,如果您只需要电源的规格,您可以从发票中提取信息或进行实物盘点。