Блог

Вы можете использовать PowerShell для просмотра или изменения настроек BIOS/UEFI на компьютере Windows. В этой статье мы рассмотрим, как получить или изменить настройки BIOS компьютера через Windows PowerShell на обычном компьютере и на брендовых устройствах популярных производителей (HP, Lenovo, Dell, Toshiba).

Приобрести оригинальные ключи активации Windows 11 или 10 можно у нас в каталоге:

Windows 11 — от 1199 ₽

Windows 10 — от 1110 ₽

Получаем информацию из BIOS/UEFI с помощью PowerShell

Базовая информация о BIOS (UEFI) компьютера доступна в WMI классе Win32_BIOS. Вы можете вывести всю доступную информацию о BIOS с помощью командлета Get-WmiObject.

Get-WmiObject -Class Win32_BIOS

По умолчанию команда возвращает информацию о версии BIOS (SMBIOSBIOSVersion + Manufacturer), серийный номер и модель компьютера (SerialNumber, Version).

В современных версиях PowerShell Core 7.x вместо WMI классов нужно использовать CIM классы:

Get-CimInstance -Class Win32_BIOS

Полный список параметров BIOS, который доступен в WMI классе Win32_BIOS, можно вывести командой:

Get-WmiObject -Class Win32_BIOS | Format-List *

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

Get-WmiObject -Class Win32_BIOS | Select SMBIOSBIOSVersion, Manufacturer, SerialNumber, ReleaseDate

Для получения информации о BIOS на удаленном компьютере:

Get-WmiObject -Class Win32_BIOS -ComputerName MSK-WKS2210

Информация о BIOS также хранится в реестре Windows. Вы можете получить её с помощью PowerShell:

Get-ItemProperty -Path HKLM:\HARDWARE\DESCRIPTION\System\BIOS

Класс Win32_BIOS универсален и может быть использован для получения базовой информации о BIOS на любом устройстве Windows. Однако, некоторые производители оборудования предоставляют специальные WMI классы для обращения к BIOS из Windows (необходимо, чтобы на компьютере были установлены родные драйвера от производителя).

Получить и изменить настройки BIOS с помощью модуля Get-BIOS

Для брендовых компьютеров Dell, HP, Lenovo, Toshiba можно использовать модуль из PSGallery, который называется Get-BIOS.

Установите модуль:

Install-Module GetBIOS

Чтобы вывести настройки BIOS вашего компьютера, выполните команду:

Get-BIOS

На компьютерах Dell можно вывести описание настроек BIOS с помощью параметра:

Get-BIOS -ShowDescription

Для изменения настроек BIOS на устройствах этих производителей используйте модуль SetBIOS:

Install-Module SetBIOS

Для изменения настроек BIOS вашего устройства, нужно сформировать CSV файл в формате {Setting, Value}.

Чтобы применить настройки из CSV файла:

Set-BIOS -Path "YourPath.csv"

Если BIOS защищён паролем, добавьте параметр -Password.

Управление BIOS из PowerShell на компьютерах Lenovo

На компьютерах Lenovo текущие настройки BIOS хранятся в отдельном WMI классе. Вывести список параметров BIOS и их значения можно так:

Get-WmiObject -class Lenovo_BiosSetting -namespace root\wmi | select-object InstanceName, currentsetting

Проверить, установлен ли пароль BIOS:

(gwmi -Class Lenovo_BiosPasswordSettings -Namespace root\wmi).PasswordState

Если пароль для входа в BIOS не установлен, команда вернёт 0.

Для изменения настроек BIOS на устройствах Lenovo, например, включения WOL:

$getLenovoBIOS = gwmi -class Lenovo_SetBiosSetting -namespace root\wmi

$getLenovoBIOS.SetBiosSetting("WakeOnLAN,Enable")

$SaveLenovoBIOS = (gwmi -class Lenovo_SaveBiosSettings -namespace root\wmi)

$SaveLenovoBIOS.SaveBiosSettings()

Сбросить настройки BIOS на заводские:

$DefaultSettings = Get-WmiObject -Namespace root\wmi -Class Lenovo_LoadDefaultSettings

$DefaultSettings.LoadDefaultSettings("CurrentBIOSPassword,ascii,us")

Доступ к настройкам BIOS из PowerShell на компьютерах Hewlett-Packard

На компьютерах HP можно использовать следующую команду для получения параметров BIOS:

Get-WmiObject -Namespace root/hp/instrumentedBIOS -Class hp_biosEnumeration | select Name, value, possiblevalues –AutoSize

Для изменения настроек BIOS, например, отключения загрузки ПК с USB:

$getHPBios = gwmi -class hp_biossettinginterface -Namespace "root\hp\instrumentedbios"

$getHPBios.SetBIOSSetting('USB Storage Boot','Disable')

Для изменения настроек BIOS, защищённых паролем:

$HPBIOSPassword = ""+"P@$$w0rd"

$getHPBios = gwmi -class hp_biossettinginterface -Namespace "root\hp\instrumentedbios"

$getHPBios.SetBIOSSetting('Network (PXE) Boot','Disable',$HPBIOSPassword)

Если команда вернула Return 0, значит она выполнена успешно. Также можно включить в BIOS LAN/WLAN Switching:

$getHPBios.SetBIOSSetting('LAN/WLAN Switching','Enable')

Экспорт настроек BIOS в текстовый файл:

Get-HPBIOSSettingsList | Out-File -FilePath ‘C:\ProgramData\HP\CMSL\Logs\CurrentBIOSSettings.txt’

Для более расширенного управления HP BIOS можно использовать HP Client Management Script Library (CMSL).

Настройка BIOS на устройствах DELL из PowerShell

На компьютерах DELL можно использовать WMI класс DCIM-BIOSService или класс root\dellomci для управления BIOS. Чтобы вывести порядок использования загрузочных устройств:

Get-WmiObject -NameSpace root\dellomci Dell_BootDeviceSequence | sort bootorder | select BootDeviceName, BootOrder

Для включения Wake on LAN:

(Get-WmiObject DCIM-BIOSService -namespace rootdcimsysman).SetBIOSAttributes($null,$null,"Wake-On-LAN","4")

Также можно установить модуль DellBIOSProvider:

Install-Module -Name DellBIOSProvider -Force

Чтобы получить порядок загрузки на компьютере Dell:

Get-Item DellSmbios:\BootSequence\Bootsequence

Чтобы проверить, задан ли пароль BIOS:

Get-Item -Path DellSmbios:\Security\IsAdminPasswordSet

Для изменения пароля BIOS:

Set-Item -Path Dellsmbios\Security\AdminPassword –Value 0ldDellP@ss –Password Newde11P@ss

Мы рассмотрели, как получить и изменить настройки BIOS на устройствах Windows с помощью PowerShell. Это позволяет стандартизировать настройки BIOS/UEFI на всех компьютерах в вашей сети.

banner for Windows
Купить ключ активации Windows от
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии