有什么办法可以改变 windows 中 win32_bios 中的 SMBIOSVersion 值吗?

Is there any way to change the SMBIOSVersion value in win32_bios in windows?

如下图所示,通过调整 windows 10 中的注册表,我能够更改 bios 版本,但不能更改我想要的 SMBIOSVersion。有什么办法可以改变它吗?不一定永久。我不在乎该值是否在重新启动后恢复,我只希望 win32_bios 包含我在关机前指定的 SMBIOSVersion,因此调用它将 return 我指定的版本。

引自 documentation(强调我的):

SMBIOSBIOSVersion

Data type: string
Access type: Read-only
Qualifiers: MappingStrings ("SMBIOS|Type 0|BIOS Version")

BIOS version as reported by SMBIOS.

This value comes from the BIOS Version member of the BIOS Information structure in the SMBIOS information.

基本上,此值报告从 BIOS 获取的信息。要修改您需要修改 BIOS 的值,即用新固件刷新芯片。

它来自 WMI,Win32_BIOS 提供程序在 c:\Windows\System32\wbem\cimwin32.mof 中定义为从 cimwin32.dll.

调用的动态提供程序

但似乎确实可以覆盖它;在某处创建一个新文件,例如c:\user\spkone\test.mof 并将其放入其中:

#pragma namespace ("\\.\root\CIMv2")

class Win32_BIOS
{
    [key]
    string SMBIOSBIOSVersion;
};

[DYNPROPS]
instance of Win32_BIOS
{
    SMBIOSBIOSVersion = "wow";
};

运行 管理员命令提示符或 PowerShell,以及 运行 mofcomp test.mof.

之前:

之后:

我走到这一步然后停了下来,我不知道变化达到了多远,或者意味着什么。无论如何,它确实显示在另一个 PowerShell 进程中。我会留给您填写其他详细信息 ;)