Как получить информацию о процессоре c
Примеры сценариев, приведенные в этом разделе, получают данные только с локального компьютера. Дополнительные сведения об использовании сценария для получения данных с удаленных компьютеров см. в разделе Подключение к WMI на удаленном компьютере.
Синтаксис
Запуск сценария
В следующей процедуре описывается выполнение скрипта.
- Скопируйте код и сохраните его в файле с расширением vbs, например filename.vbs. Убедитесь, что текстовый редактор не добавляет к файлу расширение .txt.
- Откройте окно командной строки и перейдите в каталог, в котором был сохранен файл.
- Введите cscript filename.vbs в командной строке.
- Если доступ к журналу событий невозможен, проверьте, выполняется ли в командной строке с повышенными привилегиями. Некоторые журналы событий, например журнал событий безопасности, могут быть защищены с помощью элементов управления доступом пользователей (UAC).
В следующей таблице перечислены примеры сценариев, которые можно использовать для получения различных типов данных с локального компьютера.
Часто выполняемые действия в новом интерфейсе | Классы или методы WMI | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
. определить объем свободной памяти компьютера? | Используйте класс Win32_OperatingSystem и свойство фрифисикалмемори .
| |||||||||||||||||||
. как определить, есть ли у компьютера DVD-дисковод? |
Value | Meaning |
---|---|
PROCESSOR_ARCHITECTURE_AMD64 9 | x64 (AMD or Intel) |
PROCESSOR_ARCHITECTURE_ARM 5 | ARM |
PROCESSOR_ARCHITECTURE_ARM64 12 | ARM64 |
PROCESSOR_ARCHITECTURE_IA64 6 | Intel Itanium-based |
PROCESSOR_ARCHITECTURE_INTEL 0 | x86 |
PROCESSOR_ARCHITECTURE_UNKNOWN 0xffff | Unknown architecture. |
This member is reserved for future use.
The page size and the granularity of page protection and commitment. This is the page size used by the VirtualAlloc function.
A pointer to the lowest memory address accessible to applications and dynamic-link libraries (DLLs).
A pointer to the highest memory address accessible to applications and DLLs.
A mask representing the set of processors configured into the system. Bit 0 is processor 0; bit 31 is processor 31.
The number of logical processors in the current group. To retrieve this value, use the GetLogicalProcessorInformation function.
Note For information about the physical processors shared by logical processors, call GetLogicalProcessorInformationEx with the RelationshipType parameter set to RelationProcessorPackage (3).
An obsolete member that is retained for compatibility. Use the wProcessorArchitecture, wProcessorLevel, and wProcessorRevision members to determine the type of processor.
PROCESSOR_INTEL_386 (386)
PROCESSOR_INTEL_486 (486)
PROCESSOR_INTEL_PENTIUM (586)
PROCESSOR_INTEL_IA64 (2200)
PROCESSOR_AMD_X8664 (8664)
PROCESSOR_ARM (Reserved)
The granularity for the starting address at which virtual memory can be allocated. For more information, see VirtualAlloc.
The architecture-dependent processor level. It should be used only for display purposes. To determine the feature set of a processor, use the IsProcessorFeaturePresent function.
If wProcessorArchitecture is PROCESSOR_ARCHITECTURE_INTEL, wProcessorLevel is defined by the CPU vendor.
If wProcessorArchitecture is PROCESSOR_ARCHITECTURE_IA64, wProcessorLevel is set to 1.
The architecture-dependent processor revision. The following table shows how the revision value is assembled for each type of processor architecture.
Model xx, Stepping yy
If xx is equal to 0xFF, y - 0xA is the model number, and z is the stepping identifier.
If xx is not equal to 0xFF, xx + 'A' is the stepping letter and yz is the minor stepping.
cpuid Создает инструкцию, доступную на платформах x86 и x64. Эта инструкция запрашивает у процессора информацию о поддерживаемых возможностях и типе ЦП.
Требования
Intrinsic | Архитектура |
---|---|
__cpuid | x86, x64 |
__cpuidex | x86, x64 |
Заголовочный файл
Комментарии
Эта встроенная функция хранит поддерживаемые функции и сведения о ЦП, возвращаемые cpuid инструкцией в кпуинфо, массив 4 32-разрядных целых чисел, который заполняется ЗНАЧЕНИЯМИ регистров EAX, EBX, ECX и EDX (в этом порядке). Возвращаемые сведения имеют разные значения в зависимости от значения, переданного в качестве параметра function_id . Сведения, возвращаемые с различными значениями function_id , зависят от процессора.
Встроенная функция __cpuid очищает регистр ECX перед вызовом инструкции cpuid . __cpuidex Встроенная функция задает для регистра ecx значение subfunction_id перед созданием cpuid инструкции. Он позволяет собирать дополнительные сведения о процессоре.
Дополнительные сведения о конкретных параметрах, которые необходимо использовать, и значения, возвращаемые этими встроенными функциями процессоров Intel, см. в документации cpuid по инструкциям в руководстве по архитектуре Intel 64 и IA-32 Руководство по программированию для разработчиков программного обеспечения том 2: Справочник по набору инструкций и Справочные сведения о расширении набора инструкций по архитектуре Intel. В документации Intel используются условия "конечный" и "конечный лист" для function_id и subfunction_id параметров, передаваемых в EAX и ECX.
Дополнительные сведения о конкретных параметрах, которые необходимо использовать, и значения, возвращаемые этими встроенными функциями процессоров AMD, см. в документации cpuid по инструкциям в руководстве по архитектуре AMD64, том 3: General-Purpose и системные инструкции, а также в руководствах по редакциям для конкретных семейств процессоров. Ссылки на эти документы и другие сведения см. на странице документации по AMD для разработчиков, руководства & по ISA . В документации по AMD используются термины "номер функции" и "номер подфункции" для параметров function_id и subfunction_id , передаваемых в EAX и ECX.
Если аргумент function_id равен 0, кпуинфо[0] возвращает наибольшее доступное значение нерасширенного function_id , поддерживаемое процессором. Производитель процессора кодируется в кпуинфо[1], кпуинфо[2] и кпуинфо[3].
Поддержка конкретных расширений набора инструкций и функций ЦП кодируется в результатах кпуинфо , возвращаемых для более высоких значений function_id . Дополнительные сведения содержатся в разделе вышеописанные руководства и в следующем примере кода.
Некоторые процессоры поддерживают информацию о расширенной функции CPUID. Если он поддерживается, для возврата информации могут использоваться function_id значения от 0x80000000. Чтобы определить максимально допустимое значение, задайте для function_id значение 0x80000000. Максимальное значение function_id , поддерживаемое для расширенных функций, записывается в кпуинфо[0].
Реализация с помощью PowerShell.
В оболочке PowerShell, перед тем как запускать скрипт, нужно выполнить команду, разрешающую выполнение неподписанных скриптов для текущего сеанса оболочки:
Сбор информации будет осуществляться использованием в основном Get-WmiObject -Class win32, все просто, работа с циклами.
- Get-WmiObject -Class win32_processor;
- Get-WmiObject -Class win32_baseboard;
- Get-WmiObject Win32_PhysicalMemory;
- Get-PhysicalDisk;
- Get-WmiObject -Class Win32_ComputerSystem;
- Get-WmiObject Win32_NetworkAdapter;
- Win32_NetworkAdapterConfiguration.
Есть небольшие сложности при определении IP-адреса активной сетевой карты. Для этого применяем фильтр NetConnectionStatus — «2», после берем информацию mac-адрес от класса Win32_NetworkAdapter и IP-адрес из класса Win32_NetworkAdapterConfiguration и объединяем в один запрос:
Для получения параметров сети по MACAddress активной сетевой карты дополнительно считываем Win32_NetworkAdapterConfiguration.
Реализация с помощью CMD.
Сбор информации будем осуществлять использованием переменных среды Windows и выполнением сценариев WMI.
Для вывода всех переменных окружения в Windows и их значений служит команда set.
Для получения сведений об оборудовании и системе, управления процессами и их компонентами, а также изменения настроек с использованием возможностей инструментария управления Windows (Windows Management Instrumentation или WMI) служит команда WMIC.
- wmic /? — отобразить общую справку.
- wmic /?:BRIEF — отобразить краткую справку.
- wmic /?:FULL — отобразить полную справку.
- BASEBOARD (управление системной платой);
- COMPUTERSYSTEM (управление компьютером);
- CPU (управление ЦП);
- DISKDRIVE (управление физическими дисками);
- MEMORYCHIP (информация о микросхемах памяти).
- skip (пропуск определенного кол-ва обрабатываемых строк от начала файла);
- delims (задать другой разделитель(-ли), по умолчанию, пробел и знак табуляции);
- tokens (количество получаемых токенов (подстрок) в теле цикла и пределы разбивки по разделителю). Также можно задать конкретный № токена, который попадет в первую переменную цикла;
- usebackq (изменение правил использования кавычек внутри IN (. )).
Читайте также:
- Вытащил оперативную память и нет сигнала
- Может ли сгореть блок питания из за скачка напряжения
- Питание блока управления двигателем приора
- Яндекс диск не синхронизирует файлы красный крестик
- Сравнение видеокарт quadro k620 и p620