我正在绞尽脑汁思考如何做到这一点。大约 2 个月前,我发现了一个链接,该链接显示了如何从 wmi 调用中获取单个元素。
class Sample
{
public static int Main(string[] args)
{
ManagementObject o =
new ManagementObject("Win32_Service.Name='Alerter'");
//or with a full path :
ManagementObject mObj =
new ManagementObject(
"\\\\MyServer\\root\\MyApp:MyClass.Key='abc'");
return 0;
}
}
我认为这很棒,因为它返回结果比通过 WMI 进行完整搜索以获得 1 个属性要快得多。我摆弄它并让这段代码与 Win32_ComputerSystem 一起工作,我想我什至让它与 Win32_DiskDrive 和 BaseBoard 一起工作,但我不记得我的头顶,因为我找不到那段特定的代码. 所以现在我正试图让它与 Win32_BIOS 一起工作并继续罢工。我似乎找不到“关键”属性,因此它会返回有效结果。
我尝试了以下路径无济于事。
\\.\root\cimv2:Win32_BIOS.SoftwareElementState=3
\\.\root\cimv2:Win32_BIOS.TargetOperatingSystem=0
\\.\root\cimv2:Win32_BIOS.SoftwareElementState=3,TargetOperatingSystem=0
我在 Win32_BIOS 类中找到的 2 个键是名称和版本。但版本是我需要的。由于我试图在不同的计算机上获取它,因此我不能只是硬编码一个名称,也找不到另一种获取 BIOS 名称的方法。所以我想我有点卡住了。有任何想法吗?