WSH + WMI. Примеры. Класс Win32_Processor
Класс Win32_Processor содержит информацию о процессоре
class Win32_Processor : CIM_Processor
{
uint16 AddressWidth;
uint16 Architecture;
uint16 Availability;
string Caption;
uint32 ConfigManagerErrorCode;
boolean ConfigManagerUserConfig;
uint16 CpuStatus;
string CreationClassName;
uint32 CurrentClockSpeed;
uint16 CurrentVoltage;
uint16 DataWidth;
string Description;
string DeviceID;
boolean ErrorCleared;
string ErrorDescription;
uint32 ExtClock;
uint16 Family;
datetime InstallDate;
uint32 L2CacheSize;
uint32 L2CacheSpeed;
uint32 L3CacheSize;
uint32 L3CacheSpeed;
uint32 LastErrorCode;
uint16 Level;
uint16 LoadPercentage;
string Manufacturer;
uint32 MaxClockSpeed;
string Name;
uint32 NumberOfCores;
uint32 NumberOfLogicalProcessors;
string OtherFamilyDescription;
string PNPDeviceID;
uint16 PowerManagementCapabilities[];
boolean PowerManagementSupported;
string ProcessorId;
uint16 ProcessorType;
uint16 Revision;
string Role;
string SocketDesignation;
string Status;
uint16 StatusInfo;
string Stepping;
string SystemCreationClassName;
string SystemName;
string UniqueId;
uint16 UpgradeMethod;
string Version;
uint32 VoltageCaps;
};
Методы
В документации упоминаются методы Reset и SetPowerState которые, как следует из той же документации не реализованы.
Свойства
Ниже будут описаны ряд свойств класса Win32_Processor.- AddressWidth
- Только для чтения. На 32-битной операционной системы, значение 32 и на 64-битной операционной системы это 64.
- Architecture
-
Только для чтения. Архитектура процессора, используемого в платформе.
Значение
Описание
0 (0x0) x86 1 (0x1) MIPS 2 (0x2) Alpha 3 (0x3) PowerPC 5 (0x5) ARM 6 (0x6) Itanium-based systems 9 (0x9) x64 - Caption
- Только для чтения. Короткое описание объекта в одну строчку.
- CpuStatus
-
Только для чтения. Текущее состояние процессора.
Значение
Описание
0 (0x0) Неизвестный 1 (0x1) CPU Включено 2 (0x2) CPU отключен пользователем через настройки BIOS 3 (0x3) CPU отключен по BIOS (POST Error) 4 (0x4) CPU простаивает 5 (0x5) Зарезервированный 6 (0x6) Зарезервированный 7 (0x7) Другой - CurrentClockSpeed
- Только для чтения. Текущая скорость процессора, в МГц.
- DataWidth
- Только для чтения. На 32-битным процессором, значение 32 и на 64-битных процессоров это 64.
- Description
- Только для чтения. Описание объекта.
- DeviceID
- Только для чтения. Уникальный идентификатор процессора в системе.
- ExtClock
- Только для чтения. Внешняя тактовая частота, в МГц. Если частота неизвестна, это свойство имеет значение NULL.
- L2CacheSize
- Только для чтения. Размер кэш-памяти процессора 2 уровня.
- L2CacheSpeed
- Только для чтения. Тактовая частота кэша процессора уровня 2.
- L3CacheSize
- Только для чтения. Размер кэш-памяти процессора 3 уровня.
- L3CacheSpeed
- Только для чтения. Тактовая частота кэша процессора уровня 3.
- Manufacturer
- Только для чтения. Имя производителя процессора.
- MaxClockSpeed
- Только для чтения. Максимальная скорость процессора, в МГц.
- Name
- Только для чтения. Имя, под которым этот объект известен
- NumberOfCores
- Только для чтения. Количество ядер для текущего экземпляра процессора. Например, в двухъядерном процессоре это свойство имеет значение 2
- NumberOfLogicalProcessors
- Только для чтения. Количество логических процессоров для текущего экземпляра процессора. Для Windows Server 2003 это свойство не доступно.
- Role
- Только для чтения. Роль процессора. Примеры: Central Processor или Math Processor
- Name
- Только для чтения. Имя, под которым этот объект известен
Пример получения сведений о процессоре . WSH + WMI. Класс Win32_Processor
//Подключились к WMI локального компьютера (".")
var root = GetObject("winmgmts:\\\\.\\root\\cimv2");
//Выполним запрос на получение сведений о процессоре
var reswmi = root.ExecQuery("SELECT * FROM Win32_Processor");
var accitem;
var s;
for(var acc = new Enumerator(reswmi); !acc.atEnd(); acc.moveNext())
{
accitem=acc.item();
s = 'Caption: ' +
accitem.Caption + "\r\n"+
'Capacity ' +
accitem.Capacity + "\r\n"+
"Model " +
accitem.Model + "\r\n"+
'Description ' + accitem.Description + "\r\n"+
'BankLabel ' + accitem.BankLabel + "\r\n"+
'Name ' +
accitem.Name + "\r\n"+
'Manufacturer ' +
accitem.Manufacturer + "\r\n"+
'SerialNumber ' +
accitem.SerialNumber + "\r\n"+
'DeviceLocator ' +
accitem.DeviceLocator + "\r\n"+
'Speed ' +
accitem.Speed + "\r\n"+
"\r\n\r\n";
WScript.Echo(s);
}
Требования.
Минимальная клиентская ОС - Windows Vista
Минимальная серверная ОС - Windows Server 2003
Более подробно о классе Win32_Processor смотрите на MSDN.
Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуетс¤ регистраци¤).