Я немного новичок в мире WQL (язык запросов WMI). Я пытаюсь запросить ConfigMgr 2012 с помощью WQL, но сталкиваюсь с ошибкой, когда пытаюсь указать имя столбца в предложении выбора, разделенном запятыми. Ошибка возникает ТОЛЬКО, когда извлекаемый столбец имеет тип массива и содержит нулевые значения. Он отлично работает, если столбец массива имеет некоторые значения. То же самое отлично работает, даже если столбец не является массивом (строка, целое число и т. д.) и содержит нулевые значения. Я разработал примеры запросов ниже:
Когда я запускаю следующий запрос, он работает хорошо:
Запрос № 1: SELECT * from SMS_PROGRAM
Но когда я запускаю следующий запрос, это приводит к ошибке:
Запрос № 2: SELECT PackageID, SupportedOperatingSystems from SMS_PROGRAM
(GenericFailure) с кодом ошибки 0x80041001.
Здесь свойство SupportedOperatingSystems
равно null для всех записей, которые входят в набор результатов, содержащий 7 записей. Это свойство представляет собой массив, содержащий объекты класса SMS_OS_Details
. Я получил эти данные с помощью инструмента wbemtest. Я прошу, если кто-нибудь сталкивался с этой проблемой, то любая помощь будет принята с благодарностью.