Класс Win32_BaseBoard — Информация о материнской плате

Класс Win32_BaseBoard — Информация о материнской плате Объектная модель Windows Management Instrumentation

Класс Win32_BaseBoard позволяет получить информацию о материнской плате, в его составе находятся 29 свойств, большая часть которых унаследована от других классов (будут указаны в круглых скобках). Сам Win32_BaseBoard происходит от класса CIM_Card, у которого в составе только 27 свойств.

Большая часть информации предоставляемая свойствами не будет отображаться, например, информация о материнской плате относительно ее размеров, веса, дата установки и так далее, видимо, все зависит от прошитых в самом чипе данных от производителя.

Характеристики класса Win32_BaseBoard:

Параметры класса, его свойства и информацию о экземплярах удобно просматривать с помощью утилиты WMI CIM Studio.

Но прежде, давайте рассмотрим, какую информацию о материнской плате можно получить из класса Win32_BaseBoard средствами командной строки, а именно, утилиты WMIC. Попробуйте в консольном окне ввести следующие команды:

Вывод информации о свойствах и методах класса:

WMIC CLASS Win32_BaseBoard

Вывод в табличном виде значения свойств для всех экземпляров класса во внешний файл:

WMIC PATH Win32_BaseBoard GET/FORMAT:HTABLE>d:WORKinfo.htm

Выводим информацию о серийном номере материнской платы:

WMIC PATH Win32_BaseBoard GET SerialNumber

Хорошо, в командной строке попрактиковались, теперь можно приступить к описанию свойств класса Win32_BaseBoard.

Свойства Win32_BaseBoard

Caption – Короткое описание, (CIM_ManagedSystemElement).

ConfigOptions – свойство содержит в себе массив, в котором хранятся строковые значения, описывающие установки переключателей и перемычек на материнской плате

CreationClassName – Имя класса создателя, (CIM_PhysicalElement).

Depth — Глубина в дюймах, (CIM_PhysicalPackage).

Description – Полное описание, (CIM_ManagedSystemElement).

Height — Высота в дюймах, (CIM_PhysicalPackage).

HostingBoard – Если свойство возвращает значение TRUE, то данная плата является материнской или основной платой в корпусе, (CIM_Card).

HotSwappable – Если TRUE, значит можно на ходу произвести замену пакета эквивалентным элементом, как, например, вентилятор, (CIM_PhysicalPackage).

InstallDate – Дата установки, (CIM_ManagedSystemElement).

Manufacturer – Строковое значение, содержащее название производителя, (CIM_PhysicalElement).

Model – Собственно, название модели материнской платы, (CIM_PhysicalElement).

Name – В большинстве случаев, значение данного свойства совпадает со значением свойства Description, (CIM_ManagedSystemElement).

OtherIdentifyingInfo — дополнительная информация о материнской плате для идентификации продукта, (CIM_PhysicalElement).

PartNumber – Номер идентификации продукта, определенный производителем, (CIM_PhysicalElement).

PoweredOn – Определяет состояние питания: включено — TRUE, выключено – FALSE, (CIM_PhysicalElement).

Product – Номер материнской платы, заданный производителем.

Removable – если значение TRUE, значит продукт является съемным, (CIM_PhysicalPackage).

Replaceable — если значение TRUE, значит продукт является заменяемым, (CIM_PhysicalPackage).

RequirementsDescription – Строковое значение, описывающее отличительные характеристика данного продукта, (CIM_Card).

RequiresDaughterBoard — Логическое значение, указывающее, что по крайней мере одна дочерняя плата необходима для правильной работы, (CIM_Card).

SerialNumber – Собственно, серийный номер материнской платы, (CIM_PhysicalElement).

SKU – Инвентаризационный номер, (CIM_PhysicalElement).

SlotLayout — Описывает размещение разъема, ограничения, использование, расстояние между отдельными разъемами или любую другую информацию о разъемах на материнской плате, (CIM_Card).

SpecialRequirements – Если свойство вернет TRUE, значит материнская плата содержит отличительные характеристики по сравнению с другими платами этого типа, (CIM_Card).

Status – Строковое значение, определяющее информацию о статусе материнской платы, (CIM_ManagedSystemElement).

Значения:

  • «OK»
  • «Error»
  • «Degraded»
  • «Unknown»
  • «Starting»
  • «Pred Fail»
  • «Stopping»
  • «Service»
  • «Stressed»
  • «NonRecover»
  • «No Contact»
  • «Lost Comm»

Tag – Однозначная идентификация материнской платы, (CIM_PhysicalElement).

Version – Версия, (CIM_PhysicalElement).

Weight – Вес в фунтах, (CIM_PhysicalPackage).

Width – Ширина в дюймах, (CIM_PhysicalPackage).

Ниже показаны два сценария на языках vbscriptWin32_BaseBoard.vbs и jscriptWin32_BaseBoard.js, обратите внимание, что тут используются два цикла, первый – для обработки коллекции экземпляров, второй – для обработки всех свойств. Если значение свойства пустое, то информация выводится не будет. Также, добавлено дополнительное условие для проверки свойства ConfigOptions, так как оно является массивом, и без дополнительных функций значения не вывести.

'**************************************************************' Информация о материнской плате' Win32_Baseboard.vbs '**************************************************************OptionExplicit dim strComputer, strNameSpace, objWMIService, colItems, BoardInfo, objItem, objClassProperty ' Поключенрие к локальной системеstrComputer = "."strNameSpace = "rootcimv2"' Получаем доступ к инструментарию Windows Management InstrumentationSet objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\"  & strComputer & strNameSpace)' выполняем WQL запрос и получаем коллекциюSet colItems = objWMIService.ExecQuery ("Select * from Win32_Baseboard") BoardInfo = "Информация о материнской плате" & vbCrLf & vbCrLf ' Начинаем перебор коллекцииForEach objItem in colItems    ' Начинаем перебор всех свойств для текущего экземпляра класса WMI    ForEach objClassProperty In objItem.Properties_        ' проверяем наличие свойства ConfigOptions        if (objClassProperty.Name="ConfigOptions") then            BoardInfo = BoardInfo & objClassProperty.Name &"= " & join(objClassProperty.value) &vbCrLf        else            ' Если значение больше 0            If Len(objClassProperty.value)>0 Then                 BoardInfo = BoardInfo & objClassProperty.Name &"= " & objClassProperty.value &vbCrLf            EndIf        endif    Next    BoardInfo = BoardInfo & "----------------------------------------------"Next  ' Выводим содержимое переменной BoardInfoWScript.Echo BoardInfo
//**************************************************************// Информация о материнской плате// Win32_Baseboard.js//************************************************************** var strComputer, strNameSpace, objWMIService, colItems, objItemvar BoardInfo, objItemC, objClassPropertyC, objClassProperty, strVal // Поключенрие к локальной системеstrComputer =".";strNameSpace ="\root\cimv2";// Получаем доступ к инструментарию Windows Management InstrumentationobjWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\"  + strComputer + strNameSpace);// выполняем WQL запрос и получаем коллекциюcolItems = objWMIService.ExecQuery("Select * from Win32_Baseboard"); // Начинаем перебор коллекцииobjItem =new Enumerator(colItems); BoardInfo ="Информация о материнской платеnn"; for(;!objItem.atEnd(); objItem.moveNext()){    objItemC = objItem.item();    // Начинаем перебор всех свойств для текущего экземпляра класса WMI    objClassPropertyC =new Enumerator(objItemC.Properties_);        for(;!objClassPropertyC.atEnd(); objClassPropertyC.moveNext()){    objClassProperty = objClassPropertyC.item();            // Если значение больше 0            strVal = objClassProperty.value            if(strVal !=null){                //проверяем наличие свойства ConfigOptions                if(objClassProperty.name=="ConfigOptions"){                    BoardInfo+= objClassProperty.Name+"= "+(objClassProperty.value.toArray()).join(",")+"n";                }else{                    BoardInfo+= objClassProperty.Name+"= "+ objClassProperty.value+"n";                }            }    }    BoardInfo +="----------------------------------------------";}// Выводим содержимое переменной BoardInfoWScript.Echo(BoardInfo)
Оцените статью
Технологии программирования и ведение блога
Добавить комментарий