WMI Win32_BaseBoard 序列号
Posted
技术标签:
【中文标题】WMI Win32_BaseBoard 序列号【英文标题】:WMI Win32_BaseBoard SerialNumber 【发布时间】:2010-11-20 09:42:06 【问题描述】:我使用 Win32_BaseBoard SerialNumber 属性来获取主板序列号并且它大部分时间都可以工作,但有时在某些计算机上我会得到 SerialNumber = "Base Board Serial Number"。
是否有以更有效的方式获取此序列号的编程方式,或者这只是制造商的问题?我听说所有主板都带有序列号,无一例外。这是真的吗?
【问题讨论】:
【参考方案1】:信息可能不会暴露给 WMI。您可以使用 wbemtest.exe(或 WMI CIM Studio,如果已安装)轻松确认这一点。在我当前的计算机上 Win32_BaseBoard.SerialNumber 不是 null 而是一个空字符串。如果是这种情况,您将需要找到其他方法来获取此信息。
【讨论】:
【参考方案2】:我遇到了类似的问题。你可以试试这个查询,看看它是否适合你。 select UUID from Win32_ComputerSystemProduct
【讨论】:
问题,Win32_ComputerSystemProduct 中的 UUID 是否在每台计算机上都是固定的?还是改变价值?我不在乎它是否独特,我只需要修复它。如果不是,你能给我一些建议吗?谢谢【参考方案3】:各种 WMI 查询返回的序列号是否正确取决于设备的制造商。请参阅此 *** 问题的答案Motherboard ID - WMI C++ Reliable?,其中包含几个示例,表明您的结果可能会有所不同。
其中一些变量包括设备是否为 OEM,以及设备是从向最终客户(例如戴尔)销售设备的制造商还是从将设备销售给然后配置设备的经销商的制造商购买的,或者设备是否是由外购零件组装而成。
这些结果正在处理由几个不同 WMI 查询检索到的属性。
L"SELECT * FROM Win32_SystemEnclosure",
L"SELECT * FROM Win32_BaseBoard",
L"SELECT * FROM Win32_Bios",
L"SELECT * FROM Win32_ComputerSystem",
L"SELECT * FROM Win32_ComputerSystemProduct",
L"SELECT * FROM Win32_MotherboardDevice",
例如,此处来自显示缺少序列号信息的销售终端。其意图似乎是经销商或经销商或其他供应商将提供他们自己的序列号以及其他信息,以基本上重新标记终端。
Connected to ROOT\CIMV2 WMI namespace
Query for SELECT * FROM Win32_SystemEnclosure
SMBIOS SerialNumber: None
SMBIOS Name: System Enclosure
SMBIOS SMBIOSAssetTag: None
SMBIOS Manufacturer: To Be Filled By O.E.M.
Query for SELECT * FROM Win32_BaseBoard
SMBIOS SerialNumber: None
SMBIOS Product: EIN70-SAM
SMBIOS Name: Base Board
SMBIOS Manufacturer: INTEL Corporation
Query for SELECT * FROM Win32_BIOS
SMBIOS SerialNumber: None
SMBIOS Name: BIOS Date: 10/15/13 20:06:15 Ver: 04.06.05
SMBIOS Manufacturer: American Megatrends Inc.
Query for SELECT * FROM Win32_ComputerSystem
SMBIOS Name: GENPOSA-1
SMBIOS Manufacturer: To be filled by O.E.M.
Query for SELECT * FROM Win32_ComputerSystemProduct
SMBIOS Name: EIN70-SAM
SMBIOS IdentifyingNumber: None
SMBIOS UUID: 03000200-0400-0500-0006-000700080009
【讨论】:
以上是关于WMI Win32_BaseBoard 序列号的主要内容,如果未能解决你的问题,请参考以下文章
VC++如何获取机器码?硬盘序列号、CPU编号、BIOS编号等~
使用WMI编程获取主机硬件信息(CPU_ID,硬盘主板BIOS序列号,Mac地址)