使用WMI查询选择单个实例

时间:2014-11-10 09:52:08

标签: c# .net wmi wmi-query

我需要在WMI中查询我知道是单例的对象(只有一个实例)。我曾经通过一个循环做到这一点,但它看起来并不好:

var searcher = new ManagementObjectSearcher("root\\CIMV2\\Security\\MicrosoftTpm",
    "SELECT * FROM Win32_Tpm", null);

foreach (ManagementObject classInstance in searcher.Get())
{
    // use classInstance here
    break;
}

如何做得更好?

1 个答案:

答案 0 :(得分:1)

WMI查询中有一个特殊的@运算符来提取单例。它可以像这样使用:

ManagementObject classInstance = new ManagementObject("root\\CIMV2\\Security\\MicrosoftTpm:Win32_Tpm=@");