gpt4 book ai didi

c# - 如何使用 C# 读取 WMI 中的 ManagementObject 集合

转载 作者:IT王子 更新时间:2023-10-29 04:28:51 29 4
gpt4 key购买 nike

我在网上找到了一个代码,并一直在尝试获取有关 mo[] 的更多信息。

我正在尝试获取 ManagementObjectCollection 中包含的所有信息。

由于 mo 中的参数正在寻找一个我不知道的字符串值,我如何在不知道其参数值的情况下获取所有值。或者,如果我想在 ManagementObjectCollection

中获取与 mo 相关的所有索引器值
ManagementObjectSearcher objOSDetails = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem");
ManagementObjectCollection osDetailsCollection = objOSDetails.Get();

foreach( ManagementObject mo in osDetailsCollection )
{
_osName = mo["name"].ToString();// what other fields are there other than name
_osVesion = mo["version"].ToString();
_loginName = mo["csname"].ToString();
}

最佳答案

查看您的 WMI 查询:

SELECT * FROM Win32_OperatingSystem

意思是“获取 Win32_OperatingSystem 类的所有实例并包括所有类属性”。这是一个线索,表明生成的 ManagementObject 是 WMI Win32_OperatingSystem 类的包装器。查看class description了解它具有哪些属性、它们的含义并决定您实际需要在代码中使用哪些属性。

如果您需要遍历所有可用属性而不对其名称进行硬编码,请使用 Properties属性类似于 Giorgi suggested .这是一个例子:

foreach (ManagementObject mo in osDetailsCollection)
{
foreach (PropertyData prop in mo.Properties)
{
Console.WriteLine("{0}: {1}", prop.Name, prop.Value);
}
}

关于c# - 如何使用 C# 读取 WMI 中的 ManagementObject 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3523844/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com