Определение характеристик ПК и ноутбука через PowerShell
Размер текста: A+ A-

Определение характеристик ПК и ноутбука через PowerShell

Нажмите, чтобы оценить наш труд:
[Всего: 1 Средняя: 5]

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

Использование встроенных командлетов операционной системы гарантирует достоверность данных для инвентаризации, проверки гарантии или планирования апгрейда. В этом руководстве мною были разобраны ключевые классы CIM, которые помогут извлечь максимум технических параметров из каждого узла вашей системы, избежав долгого ручного поиска.

PowerShell — это мощная командная оболочка и язык сценариев от Microsoft для автоматизации задач и управления системой. Найти ее проще всего через поиск в меню «Пуск» (клавиша Win), просто начав вводить слово «PowerShell».

Если у вас ее нет (что маловероятно) или стоит старая версия, то для x64 вы ее можете на официальном сайте:

  • Раздел “Установка пакета MSI”: https://learn.microsoft.com/ru-ru/powershell/scripting/install/install-powershell-on-windows?view=powershell-7.6#msi

Базовая информация о системе (Модель, BIOS и Материнская плата)

Основой любой вычислительной системы выступает материнская плата, а базовые данные о продукте зашиты в BIOS.

Знание точной модели устройства и серийного номера критически важно при обращении в техническую поддержку производителя или поиске совместимых драйверов. Особенно это актуально для корпоративного сегмента, где учет техники ведется строго по уникальным аппаратным идентификаторам.

Инструментарий PowerShell предлагает класс Win32_ComputerSystem для общего обзора платформы и Win32_BIOS для точечной работы с микрокодом. Эти классы обращаются напрямую к интерфейсу управления Windows, считывая физические параметры, прописанные на заводе. В случае с ноутбуками или брендовыми рабочими станциями именно здесь хранится сервисный тег, требуемый вендорами.

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

Get-CimInstance Win32_ComputerSystem | Select-Object Manufacturer, Model, SystemType

Эта команда извлекает общую информацию о производителе и конкретной модели ПК или ноутбука, а также указывает архитектуру платформы. Вывод сразу позволяет классифицировать устройство и определить его базовую принадлежность к линейке оборудования.

Get-CimInstance Win32_BIOS | Select-Object Manufacturer, SMBIOSBIOSVersion, SerialNumber

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

Get-CimInstance Win32_BaseBoard | Format-List Manufacturer, Product, SerialNumber, Version

Отображает точную модель материнской платы (Part Number), ее аппаратную ревизию и встроенный серийник. Форматирование списком позволяет удобно читать длинные строковые значения, которые часто встречаются у серверных материнских плат.

Анализ вычислительной мощности (Процессор и ОЗУ)

Оценка производительности машины начинается с центрального процессора и подсистемы оперативной памяти.

При планировании расширения ОЗУ необходимо точно знать количество занятых слотов, тактовую частоту модулей и их производителя, чтобы избежать аппаратных конфликтов. Программный сбор этих данных через консоль полностью исключает необходимость физического вскрытия корпуса компьютера.

Для процессора важнейшими метриками, помимо самой коммерческой модели, являются количество физических ядер и логических потоков, а также максимальная частота. Класс Win32_Processor выдает исчерпывающую сводку по CPU, опрашивая контроллер материнской платы. В гибридных системах или многопроцессорных серверах команда выведет массив независимых данных по каждому установленному чипу отдельно.

Оперативная память опрашивается через класс Win32_PhysicalMemory, что позволяет увидеть каждую установленную планку индивидуально. Это оптимальный метод выяснить парт-номер конкретного модуля памяти для приобретения полностью идентичного устройства и корректной активации двухканального режима работы.

Например:

Get-CimInstance Win32_Processor | Select-Object Name, NumberOfCores, NumberOfLogicalProcessors, MaxClockSpeed

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

Результат у меня на рабочем ноутбуке:

Get-CimInstance Win32_PhysicalMemory | Select-Object Manufacturer, PartNumber, Capacity, Speed

Опрашивает каждый установленный модуль оперативной памяти отдельно, показывая его объем в байтах, эффективную частоту работы и заводской артикул. Запрос незаменим при поиске полностью совместимой планки памяти для безопасного апгрейда.

Результат:

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

Класс Win32_Processor хранит подробную информацию об архитектурных особенностях чипа, включая объемы кэш-памяти разных уровней, которые напрямую влияют на скорость обработки больших массивов данных. Извлечение параметров L2CacheSize и L3CacheSize помогает оценить пригодность сервера для баз данных или высоконагруженных вычислений, где размер сверхбыстрой памяти кристалла играет решающую роль.

Не менее важным аспектом аппаратной диагностики выступает проверка статуса технологий аппаратной виртуализации и идентификация физического разъема на материнской плате.

Свойство VirtualizationFirmwareEnabled позволяет удаленно убедиться, что поддержка гипервизора активирована на уровне системной прошивки, что является обязательным требованием для запуска контейнеров и виртуальных машин. Параллельно с этим атрибут SocketDesignation выдает точную маркировку сокета (например, LGA 1700 или AM5), избавляя инженера от необходимости искать спецификации текущей платформы перед заказом нового кристалла.

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

Вывести все эти расширенные метрики единым блоком можно с помощью следующего целевого запроса:

Get-CimInstance Win32_Processor | Select-Object Name, SocketDesignation, L2CacheSize, L3CacheSize, VirtualizationFirmwareEnabled, ProcessorId

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

Обращение к классу Win32_PhysicalMemory позволяет вытащить физическую топологию расположения модулей, включая точную буквенно-цифровую маркировку каждого задействованного слота. Использование атрибутов DeviceLocator и BankLabel мгновенно показывает, в какие именно каналы материнской платы установлена память, что критически важно для удаленного выявления ошибок сборки и нарушения правил чередования каналов.

Определение поколения памяти и наличия аппаратной коррекции ошибок (ECC) является ключевым фактором при аудите рабочих станций и серверов начального уровня.

Свойство SMBIOSMemoryType возвращает числовой код, который жестко привязан к стандарту JEDEC, позволяя безошибочно отличить, например, DDR4 от DDR5 без вскрытия корпуса. Анализ параметра DataWidth в связке с TotalWidth дает однозначный ответ о поддержке ECC-памяти: если общая ширина шины превышает ширину данных (обычно 72 бита против 64), значит, модуль оснащен дополнительными чипами для исправления битовых сдвигов на лету.

Чтобы получить эти спецификации, а также узнать заводское напряжение питания, используется следующая команда:

Get-CimInstance Win32_PhysicalMemory | Select-Object BankLabel, DeviceLocator, SMBIOSMemoryType, DataWidth, ConfiguredVoltage

Важнейшим шагом при планировании масштабирования вычислительных мощностей выступает проверка предельных возможностей самого контроллера памяти и материнской платы.

Для получения этой информации необходимо обратиться к вспомогательному классу Win32_PhysicalMemoryArray, который описывает логический массив памяти целиком, а не отдельные планки.

Запрос к этому классу извлекает свойство MaxCapacity, указывающее максимальный поддерживаемый объем ОЗУ аппаратной платформой, и MemoryDevices, отражающее общее количество физических слотов на текстолите:

Get-CimInstance Win32_PhysicalMemoryArray | Select-Object MaxCapacity, MemoryDevices

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

Для удобства я составила сводную матрица поможет быстро ориентироваться в синтаксисе классов CIM и извлекать только ту информацию, которая действительно нужна для формирования детального паспорта устройства. В таблице ниже сгруппированы расширенные аппаратные метрики, их строгая принадлежность к системным классам Windows и практическая расшифровка для инженера:

Компонент Класс PowerShell Свойство (Property) Практическое значение
CPU Win32_Processor SocketDesignation Точный тип разъема материнской платы для процессора (например, AM4, LGA1200).
CPU Win32_Processor L3CacheSize Заводской объем кэша третьего уровня, критичный для сложных вычислений.
CPU Win32_Processor VirtualizationFirmwareEnabled Состояние флага активности аппаратной виртуализации на уровне микрокода BIOS.
RAM Win32_PhysicalMemory DeviceLocator / BankLabel Точное физическое расположение конкретного модуля в слоте на материнской плате.
RAM Win32_PhysicalMemory ConfiguredVoltage Текущее рабочее напряжение планки, необходимое для подбора идентичной пары.
RAM Win32_PhysicalMemoryArray MaxCapacity Жесткий аппаратный предел расширения оперативной памяти всей системы.

Диагностика подсистемы хранения и графики

Накопители данных и видеоадаптеры относятся к компонентам, которые чаще всего подвергаются замене или требуют регулярного мониторинга технического состояния.

Определение точной модели SSD помогает своевременно обновлять прошивки контроллеров и предотвращать потерю данных. Для графических ускорителей критично знание точной ревизии видеочипа для развертывания корректного пакета драйверов.

Встроенный класс Win32_DiskDrive отлично справляется с получением серийных номеров твердотельных накопителей и классических магнитных дисков. Класс игнорирует логические разделы, фокусируясь исключительно на аппаратной части, показывая реальное количество физических устройств, подключенных к портам материнской платы.

Графическая подсистема опрашивается через Win32_VideoController, который собирает техническую информацию как о дискретных, так и об интегрированных в процессор видеокартах. Запрос показывает объем выделенной видеопамяти и текущую версию графического драйвера, установленного в операционной системе.

Например:

Get-CimInstance Win32_DiskDrive | Select-Object Model, SerialNumber, Size, MediaType

Команда идентифицирует все подключенные физические накопители, возвращая их заводские наименования, серийные номера и суммарный неразмеченный объем. Вывод помогает быстро отличить быстрый системный SSD от объемного файлового жесткого диска.

Get-CimInstance Win32_VideoController | Select-Object Name, AdapterRAM, DriverVersion

Определяет установленные графические адаптеры, объем распаянной видеопамяти и используемую версию драйвера. Если в ноутбуке применяется связка из встроенной и дискретной видеокарт, консоль выведет технические параметры для обеих микросхем.

Здесь я приведу пример для своего рабочего ноутбука, исполнение обеих команд выше:

Вернемся к видеокарте и ее параметрам. Какие еще данные видеокарты можно “вытащить” с помощью PowerShell ?

Например, класс Win32_VideoController хранит огромный массив данных о графической подсистеме, выходящий далеко за рамки коммерческого названия и базового объема памяти. С помощью PowerShell можно получить глубокую техническую сводку, включая информацию о драйверах, аппаратных идентификаторах и текущих параметрах вывода изображения на монитор.

Чтобы запросить абсолютно все доступные свойства видеокарты без фильтрации, используется вывод в виде полного списка.

Эта команда покажет десятки скрытых полей контроллера:

Get-CimInstance Win32_VideoController | Format-List *

Вот частичный скриншот с результатами на моем рабочем лэптопе:

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

  • Идентификация чипа: точное название и архитектура самого графического процессора, распаянного на плате.

  • Сведения о драйвере: точная дата сборки программного обеспечения (помогает выявить устаревшие системы).

  • Аппаратные коды: системные идентификаторы Plug and Play, содержащие Vendor ID и Device ID (критически важно для поиска драйверов на неопознанные устройства).

  • Параметры дисплея: текущее разрешение, частота развертки и используемая глубина цвета.

  • Состояние: статус работы устройства с точки зрения диспетчера задач Windows.

Для извлечения конкретных метрик применяется фильтрация. Ниже приведена таблица с точными названиями свойств CIM-класса для формирования целевых запросов:

Свойство (Property) Описание извлекаемых данных
VideoProcessor Внутреннее инженерное название графического чипа.
DriverDate Дата компиляции установленного драйвера.
PNPDeviceID Строка аппаратного идентификатора (содержит коды VEN_xxxx и DEV_xxxx).
Status Состояние устройства на уровне системы (в штатном режиме возвращает “OK”).
CurrentHorizontalResolution Текущее разрешение основного монитора по горизонтали (в пикселях).
CurrentVerticalResolution Текущее разрешение основного монитора по вертикали (в пикселях).
CurrentRefreshRate Актуальная частота обновления подключенного экрана (в Гц).
VideoModeDescription Готовая строковая сводка видеорежима (например, “1920 x 1080 x 4294967296 colors”).

Готовая команда для получения глубокого технического отчета по самому графическому ускорителю и его драйверам выглядит следующим образом:

Get-CimInstance Win32_VideoController | Select-Object Name, VideoProcessor, DriverVersion, DriverDate, PNPDeviceID, Status

И вот результат:

Если же главная задача — определить текущие настройки вывода изображения на монитор (например, чтобы удаленно проверить, не сбилось ли разрешение у пользователя), запрос формируется с акцентом на параметры развертки:

Get-CimInstance Win32_VideoController | Select-Object Name, CurrentHorizontalResolution, CurrentVerticalResolution, CurrentRefreshRate, VideoModeDescription

Сетевая периферия и параметры электропитания

Сетевые интерфейсы и контроллеры питания требуют особого внимания при комплексном администрировании парка портативных устройств.

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

Современные версии оболочки предлагают командлет Get-NetAdapter, который выдает данные в гораздо более чистом виде, чем устаревшие классы WMI. Он автоматически отсеивает множество скрытых виртуальных интерфейсов, программных мостов и туннелей, фокусируя внимание системного инженера только на физических сетевых контроллерах.

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

Get-NetAdapter | Select-Object Name, InterfaceDescription, MacAddress, LinkSpeed

Специализированный командлет для получения перечня активных сетевых интерфейсов, их физических MAC-адресов и текущей канальной скорости подключения. Он избавляет от необходимости фильтровать виртуальные системные адаптеры, выдавая только реальное железо.

Get-CimInstance Win32_Battery | Select-Object Name, BatteryStatus, EstimatedChargeRemaining, DesignCapacity

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

Структурирование данных и форматы вывода

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

Чаще всего инженеры используют экспорт в таблицы, файлы со строгими разделителями или универсальные структурированные объекты. Выбор конкретного формата зависит от сценария: будет ли финальный отчет читаться специалистом с экрана или же передаваться в качестве машинного лога для разбора другой программой.

Вот список наиболее востребованных форматов экспорта командлетов PowerShell, которые позволяют сохранить результаты инвентаризации в готовом виде:

  • CSV — табличный формат с разделителями, идеален для последующего массового импорта собранных данных в Excel или реляционную базу данных.

  • JSON — иерархический формат, который без проблем парсится современными веб-сервисами, системами мониторинга и сторонними API.

  • HTML — позволяет генерировать готовые визуальные веб-отчеты для руководства прямо из скрипта оболочки.

Для успешного выполнения команд инвентаризации на целевых машинах необходимо соблюдать правильный порядок инициализации среды выполнения. Алгоритм подготовки оболочки для беспрепятственного сбора данных выглядит следующим образом:

  1. Откройте системное меню Windows и найдите приложение PowerShell через встроенную строку поиска.

  2. Кликните правой кнопкой мыши на найденную иконку программы и выберите пункт запуска от имени администратора.

  3. Подтвердите запрос контроля учетных записей, чтобы оболочка получила неограниченный доступ к защищенным системным классам оборудования.

Сводная таблица классов WMI/CIM

Запоминать все системные вызовы наизусть нет необходимости, специалисту достаточно понимать общую логику их именования и целевого назначения. Технология Common Information Model предоставляет полностью стандартизированный подход к описанию любого физического компонента ПК. Использование CIM-командлетов вместо устаревших запросов WMI обеспечивает более высокую скорость работы скриптов и строгую стандартизацию вывода.

Ниже приведена обобщенная матрица соответствия аппаратных компонентов и программных классов, к которым необходимо обращаться при диагностике. Она послужит удобной шпаргалкой при написании собственных автоматизированных скриптов аудита. Параметры тестировались на актуальных версиях настольных операционных систем Windows.

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

Компонент ПК / Ноутбука Класс CIM (PowerShell) Ключевые извлекаемые параметры
Системный блок / Ноутбук Win32_ComputerSystem Manufacturer, Model, SystemType, TotalPhysicalMemory
Материнская плата Win32_BaseBoard Manufacturer, Product, SerialNumber, Version
BIOS / UEFI Win32_BIOS Manufacturer, SMBIOSBIOSVersion, SerialNumber, ReleaseDate
Процессор (CPU) Win32_Processor Name, NumberOfCores, NumberOfLogicalProcessors, MaxClockSpeed
Оперативная память (RAM) Win32_PhysicalMemory Manufacturer, PartNumber, Capacity, Speed, FormFactor
Дисковые накопители (HDD/SSD) Win32_DiskDrive Model, SerialNumber, Size, InterfaceType, MediaType
Видеокарта (GPU) Win32_VideoController Name, AdapterRAM, DriverVersion, VideoProcessor
Аккумулятор Win32_Battery Name, DesignCapacity, FullChargeCapacity, EstimatedChargeRemaining

Нажмите, чтобы оценить наш труд:
[Всего: 1 Средняя: 5]

Я, Ирина Петрова-Левин, выпускница Московского Технического Университета Связи и Информатики, где получила образование в области информационных технологий. Мой профессиональный путь связан с JavaScript, PHP и Python, а также с глубоким интересом к тому, как современные технологии влияют на повседневную жизнь. Я стараюсь объяснять сложные процессы так, чтобы они становились понятными каждому, без потери точности и сути.

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

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Срок проверки reCAPTCHA истек. Перезагрузите страницу.

О нас | Контакты


Прокрутить вверх