Как узнать серийный номер материнской платы через PowerShell: пошаговая инструкция

Как узнать серийный номер компьютера с помощью PowerShell в Windows 11

В Windows 11 команда wmic bios get serialnumber, которая раньше часто использовалась для получения серийного номера компьютера, устарела и была удалена. Как же теперь получить эту информацию с помощью PowerShell? В этой статье разберём современные методы и их особенности.

Проблема

Раньше для получения серийного номера BIOS или материнской платы часто применяли инструмент wmic. Однако в новых версиях Windows, особенно в Windows 11, этот инструмент либо удалён, либо не поддерживается. Поэтому необходимо использовать актуальные средства PowerShell для доступа к информации из WMI (Windows Management Instrumentation).

Вариант 1: Использование команды Get-CimInstance

Get-CimInstance — современная и универсальная команда PowerShell, которая является полноценной заменой wmic.

Чтобы узнать серийный номер BIOS, нужно обратиться к WMI-классу Win32_BIOS. Полная команда выглядит так:

Get-CimInstance -ClassName Win32_BIOS | Select-Object -ExpandProperty SerialNumber
  

Для удобства и быстроты вы можете использовать сокращённый синтаксис:

gcim Win32_BIOS | select -ExpandProperty SerialNumber
  

Здесь gcim — это псевдоним для Get-CimInstance, который лучше применять интерактивно в консоли, а в скриптах рекомендуется использовать полное имя команды.

Полезный совет: Чтобы понять, какой WMI-класс соответствует команде wmic bios get serialnumber, можно использовать такую команду:

wmic.exe alias list brief | Select-String BIOS -SimpleMatch
  

В результате вы увидите, что wmiс bios фактически обращался к классу Win32_BIOS.

Вариант 2: Использование Get-ComputerInfo

Другой способ — команда Get-ComputerInfo, которая выводит огромное количество информации о системе, включая серийный номер BIOS:

Get-ComputerInfo | Select-Object -Property BiosSerialNumber
  

Если вы запускаете команду интерактивно (не в скрипте), можно просто вызвать Get-ComputerInfo и пролистать вывод до строки с серийным номером BIOS.

Недостаток: в отличие от Get-CimInstance, Get-ComputerInfo собирает большое количество данных, что может замедлить выполнение команды и усложнить обработку вывода. Поэтому этот вариант больше подходит для разовых проверок.

Вариант 3: Получение серийного номера материнской платы

Иногда интересно узнать не серийный номер BIOS, а именно материнской платы (платы с печатной платой — PCB). В этом случае используется класс Win32_BaseBoard:

Get-CimInstance Win32_BaseBoard | Select-Object -ExpandProperty SerialNumber
  

Или упрощённый вызов:

(Get-CimInstance Win32_BaseBoard).SerialNumber
  

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

Обзор подходов и рекомендации

  • Get-CimInstance (Win32_BIOS) — наиболее современный и гибкий метод, отлично подходит для скриптов и автоматизации.
  • Get-ComputerInfo — удобен для разовых ручных проверок, но избыточен для простых запросов серийного номера.
  • Get-CimInstance (Win32_BaseBoard) — для получения серийного номера именно материнской платы, если это требуется.

Если вы планируете работать с серийным номером в скриптах или автоматизации, лучше использовать Get-CimInstance с соответствующим классом. Для одноразовых быстрых проверок вполне подойдёт Get-ComputerInfo.

Выводы

Команда wmic была удобной, но сейчас устарела. Чтобы узнать серийный номер компьютера в Windows 11 через PowerShell, используйте Get-CimInstance. Для BIOS применяйте класс Win32_BIOS, для материнской платы — Win32_BaseBoard. Если требуется только быстро посмотреть данные вручную, поможет Get-ComputerInfo, но для скриптов он избыточен.

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

Ответить

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