Существует ли какой-либо известный способ составления списка классов WMI и их свойств, доступных для конкретной системы? Меня интересует подход с использованием vbscript, но, пожалуйста, предлагайте все, что угодно :)
P.S. Отличный сайт.
Я считаю, что это то, чего вы хотите.
Часть этой замечательной утилиты позволяет просматривать пространства имен/классы/свойства на локальном и удаленном ПК, не говоря уже о генерации WMI кода на VBScript/C#/VB на лету. Очень полезно.
Кроме того, исходный код, использованный для создания утилиты, включен в загрузку, что может послужить справочником, если вы захотите создать свой собственный интерфейс, похожий на браузер.
На этой странице MSDN рассказывается о перечислении доступных классов: How to: List the Classes in a WMI Namespace
для извлечения свойств из класса:
ManagementPath l_Path = new ManagementPath(l_className);
ManagementClass l_Class = new ManagementClass(myScope, l_ManagementPath, null);
foreach (PropertyData l_PropertyData in l_Class.Properties)
{
string l_type = l_PropertyData.Type.ToString());
int l_length = Convert.ToInt32(l_PropertyData.Qualifiers["maxlen"].Value);
}