Я запускаю следующий код, пытаясь получить ChassisType устройства, на котором он запущен.ManagementObjectSearcher на свойство массива WMI
string wmiQuery = string.Format(
"SELECT ChassisTypes FROM Win32_SystemEnclosure");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(wmiQuery);
foreach (ManagementObject obj in searcher.Get())
Когда я запускаю это и пытаюсь преобразовать его в строку, он дает мне пустую строку. Когда я попытаюсь проверить, что искатель.get() возвращается в Autos. Это дает мне время для оценки, а затем исключение ... Если я просто позволю ему запустить, он действительно возвращает
Я игнорирую оценку, потому что получаю такое же исключение, когда я пытаюсь изучить другие запросы WMI, и я знают, что они работают и возвращают требуемые значения. Я также не знаю, с чего начать, хотя это препятствует устранению неполадок.
Я думаю, проблема в том, что свойство ChassisTypes представляет собой массив ... но я не знаю, как получить значение. Я не могу запустить другой foreach в моем объекте управления obj, потому что у управляющих объектов есть GetEnumerator.
Любые идеи о том, как 1. отсортировать время оценки ... или даже лучше 2. получить доступ к свойствам массива WMI.
Приветствия