Листинг 11.7. Получение сведений об операционной системе
set objWMIService = GetObject("winmgmts:" & "{impersonationLevel = impersonate}!\ root\cimv2")
set colOS = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
for each objOperatingSystem in colOS
objTextFile.WriteLine objOperatingSystem.Name
next
Именно так можно подключиться к базе данных сведений об операционной системе и записать их в файл. Но к каким столбцам таблицы можно получить доступ (кроме используемого в листинге столбца Name, который содержит имя операционной системы и путь к папке Windows)? Ниже перечислены некоторые из таких столбцов (в контексте инструментария управления WMI они называются свойствами).
■ BootDevice — указывает имя тома, из которого загружается операционная система.
■ CodeSet — указывает кодовую страницу, используемую операционной системой (как написано в MFL-файле, кодовая страница содержит таблицу символов, применяемую операционной системой для преобразования строк на различных языках).
■ DataExecutionPrevention_Available — если данное свойство возвращает значение true, то оборудование, установленное на компьютере, поддерживает технологию предотвращения выполнения данных Windows (DEP). Более подробные сведения об этой технологии можно найти в файле cimwin32.mfl.
■ LargeSystemCache — указывает, для каких операций выполняется оптимизация памяти. Если свойство возвращает значение 0, то оптимизация памяти выполняется для повышения производительности работающих программ. Если же возвращается значение 1, то оптимизация памяти выполняется для повышения производительности работы операционной системы.
ПРИМЕЧАНИЕ
Свойство использует для определения метода оптимизации уже рассмотренный ранее параметр реестра LargeSystemCache, расположенный в ветви HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management. Если его значение равно 1, то возвращается значение 1.
■ Version — содержит номер версии операционной системы Windows.
■ ServicePackMajorVersion — основная версия установленного пакета обновлений.
■ ServicePackMinorVersion — дополнительная версия установленного пакета обновлений.
■ Manufacturer — имя производителя операционной системы.
■ WindowsDirectory — каталог Windows.
■ Locale — код локализации (419 для русской версии, 409 для английской).
■ FreePhysicalMemory — свободный объем жесткого диска.
■ FreeVirtualMemory — свободный объем виртуальной памяти.
■ TotalVirtualMemorySize — общий объем виртуальной памяти.
Здесь были рассмотрены лишь 13 свойств класса Win32_OperatingSystem, на самом же деле данный класс имеет 35 свойств. Не имеет смысла описывать остальные свойства, так как все они отлично описаны в стандартном файле cimwin32.mfl, расположенном в каталоге %systemroot%\SYSTEM32\wbem, а автор не брал на себя задачу создания книжного аналога данного файла. Поэтому за дополнительной информацией обращайтесь к файлу cimwin32.mfl (просто поищите в нем строку Win32_OperatingSystem).
Кроме Win32_OperatingSystem, для описания компьютера можно использовать следующие классы.
■ Win32_ComputerSystem — содержит следующие свойства, описывающие работающий компьютер.
• AutomaticResetBootOption — если данное свойство возвращает значение false, то при возникновении аварийной остановки отображается «синий экран смерти» (BSOD). Если же значение равно true, то компьютер автоматически перезагружается.
• BootupState — определяет способ загрузки операционной системы. На пример, если данное свойство возвращает значение Normal Boot, то операционная система была загружена в обычном режиме. Возможны следующие значения: Normal boot, Fail-safe boot, Fail-safe with network boot.
• Name — имя компьютера.
• NumberOfProcessors — возвращает количество процессоров, установленных на данном компьютере.
• Manufacturer — имя компании, собиравшей компьютер.
• Model — модель BIOS компьютера (поддерживает ACPI или нет).
• CurrentTimeZone — идентификатор текущей зоны часового пояса.
• TotalPhysicalMemory — общий объем физической памяти.
ПРИМЕЧАНИЕ
Класс содержит 39 свойств, поэтому за описанием других свойств обращайтесь к файлу cimwin32.mfl, расположенному в каталоге %systemroot%\SYSTEM32\wbem. Просто поищите в нем строку Win32_ComputerSystem.
■ Win32_Processor — определяет один экземпляр процессора (для многопроцессорных систем существует несколько экземпляров данного класса) и содержит следующие свойства:
• Description — описание процессора, установленного на компьютере;
• Architecture — тип процессора, установленного на компьютере;
• CurrentVoltage — возвращает текущее напряжение, используемое процессором (определяется первыми 6 байтами, умноженными на 10);
• L2CacheSize — возвращает размер кэша второго уровня для данного процессора;
Читать дальше