Получить тип данных CIM из свойств в классах WMI с помощью C#
Итак, мне удалось написать класс, который позволяет мне получать доступ к WMI и получать информацию о классах, включая их методы, и все свойства классов и их последующих методов. Я не могу найти что-либо в C# в классах System.Management или System.Management.Instrumentation, которое позволяет мне получать доступ к типам данных CIM свойств в WMI, либо в основном классе, либо в методах. Кто-нибудь знает, как я могу получить эти типы данных?
1 ответ
Решение
Чтобы получить метаданные (например, cimtype, value, name) классов WMI, вы можете использовать PropertyData
учебный класс.
Попробуйте этот пример кода из MSDN
using System;
using System.Management;
public class Sample
{
public static void Main()
{
// Get the WMI class
ManagementClass osClass =
new ManagementClass("Win32_OperatingSystem");
osClass.Options.UseAmendedQualifiers = true;
// Get the Properties in the class
PropertyDataCollection properties =
osClass.Properties;
// display the Property names
Console.WriteLine("Property Name: ");
foreach (PropertyData property in properties)
{
Console.WriteLine(
"---------------------------------------");
Console.WriteLine(property.Name);
Console.WriteLine("Description: " + property.Qualifiers["Description"].Value);
Console.WriteLine();
Console.WriteLine("Type: ");
Console.WriteLine(property.Type);
Console.WriteLine();
Console.WriteLine("Qualifiers: ");
foreach(QualifierData q in
property.Qualifiers)
{
Console.WriteLine(q.Name);
}
Console.WriteLine();
foreach (ManagementObject c in osClass.GetInstances())
{
Console.WriteLine("Value: ");
Console.WriteLine(c.Properties[property.Name.ToString()].Value);
Console.WriteLine();
}
}
}