PowerShell を使用して BIOS (UEFI) 設定を表示および変更する方法

PowerShell を使用して、Windows コンピューター上の BIOS/UEFI 設定を表示または変更できます。 この記事では、Windows PowerShell を使用して、通常のコンピューターおよび人気のあるブランドのコンピューター (HP、Lenovo、Dell、東芝) でコンピューターの BIOS 設定を取得または変更する方法を説明します。

PowerShell で BIOS/UEFI バージョンを確認する

WMI クラス Win32_BIOS では、コンピュータの BIOS (UEFI) に関する基本情報を説明します。 Get-WmiObject コマンドレットを使用して、WMI (Windows Management Instrumentation) から BIOS 情報を取得できます。

Advertisement

Get-WmiObject -Class Win32_BIOS

デフォルトでは、コマンドは BIOS バージョン (SMBIOSBIOSVersion)、製造元、シリアル番号、およびコンピューターのモデルに関する情報を返します。

で利用可能な BIOS パラメータの完全なリストを表示するには、 Win32_BIOS WMI クラスの場合は、次のコマンドを使用します。

Advertisement

Get-WmiObject -Class Win32_BIOS | Format-List *

Get-WmiObject Win32_BIOS

関心のある BIOS 設定のみを表示できます。たとえば、BIOS バージョン、コンピューターのシリアル番号、製造元、発売日など:

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

リモート コンピューターから BIOS 情報を取得することもできます。

Get-WmiObject -Class Win32_BIOS -ComputerName MUN-WKS41

コンピュータの BIOS 情報は Windows レジストリに保存されます。 PowerShell を使用して、レジストリから BIOS 情報を直接取得できます。

Get-ItemProperty -Path HKLM:HARDWAREDESCRIPTIONSystemBIOS

レジストリから BIOS バージョンを取得する

Win32_BIOS は、Windows デバイスの基本的な BIOS 情報を取得するために使用できる汎用クラスです。

ただし、一部のハードウェア ベンダーは、Windows OS から BIOS に直接アクセスするための特別な WMI クラスを提供しています (製造元のネイティブ ドライバーをインストールする必要があります)。

Advertisement

Get-BIOS モジュールを使用して BIOS 設定を取得または変更する方法

PSGallery の別のモジュールを使用できます。 BIOS を取得する Dell、HP、Lenovo、東芝コンピュータの BIOS/UEFI 設定を取得します。

PowerShell オンライン ギャラリーからモジュールをインストールします (PowerShell モジュールはオフラインでインストールできます)。

Install-Module GetBIOS

getbiosパワーシェルモジュール

コンピューターの BIOS 設定を表示するには、次のコマンドを実行します。

Get-BIOS

PowerShell で BIOS (uefi) 設定を一覧表示する

BIOS の一部のバージョンでは、BIOS パラメータの現在の値だけでなく、その説明と可能な値も表示できます。

Advertisement

Get-BIOS -ShowDescription

同じ開発者による、Dell、Lenovo、HP マシンの BIOS 設定を変更できるモジュールもあります。

Install-Module SetBIOS

デバイスの BIOS 設定を変更するには、{Setting, Value} 形式で CSV ファイルを作成する必要があります。

PowerShell を使用して新しい BIOS 設定をアップロードする

BIOS 設定を含む CSV ファイルを適用するには、次のコマンドを実行します。

Set-BIOS -Path "YourBIOSSettingsFile.csv"

BIOS がパスワードで保護されている場合は、次を追加します -Password オプションに。

Advertisement

PowerShell を使用して Lenovo デバイスの BIOS 設定を一覧表示する

現在の BIOS 設定は、次の別の WMI クラスに保存されます。 レノボ コンピューター。 利用可能な BIOS オプションとその値は、Lenovo DeviceL で一覧表示できます。

Get-WmiObject -class Lenovo_BiosSetting -namespace rootwmi | select-object InstanceName, currentsetting

PowerShell を使用してすべての Lenovo_BiosSetting を一覧表示する

Lenovo コンピューターに BIOS パスワードが設定されているかどうかを確認してみましょう。

(gwmi -Class Lenovo_BiosPasswordSettings -Namespace rootwmi).PasswordState

コマンドが 0 を返した場合、BIOS セキュリティ パスワードは設定されていません。

powershell Lenovo_BiosPasswordSettings

Lenovo デバイスの BIOS パスワードを変更します。

Advertisement

(gwmi -Class Lenovo_SetBiosPassword -Namespace rootwmi).SetBiosPassword("pap,oldPassword,newPassword,ascii,us")

Lenovo コンピューターでは一部の BIOS パラメーターを変更できます。 たとえば、WOL (Wake-On-LAN) を有効にしてみましょう。

$getLenovoBIOS = gwmi -class Lenovo_SetBiosSetting -namespace rootwmi
$getLenovoBIOS.SetBiosSetting("WakeOnLAN,Enable")
$SaveLenovoBIOS = (gwmi -class Lenovo_SaveBiosSettings -namespace rootwmi)
$SaveLenovoBIOS.SaveBiosSettings()

Lenovo デバイスの BIOS 設定を工場出荷時のデフォルトにリセットします。

$DefaultSettings = Get-WmiObject -Namespace rootwmi -Class Lenovo_LoadDefaultSettings
$DefaultSettings.LoadDefaultSettings("CurrentBIOSPassword,ascii,us")

PowerShell: Hewlett-Packard コンピューターの BIOS 設定の一覧表示と変更

利用可能な BIOS オプション、その値、および利用可能なオプションをリストすることができます。 HP 次のコマンドを使用してコンピュータ/ラップトップにアクセスします。

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

HP コンピューターでは、PowerShell を使用して一部の BIOS 設定を変更できます。 たとえば、USB ストレージ デバイスからコンピュータを起動する機能を無効にすることができます。

Advertisement

$getHPBios = gwmi -class hp_biossettinginterface -Namespace "roothpinstrumentedbios"
$getHPBios.SetBIOSSetting('USB Storage Boot','Disable')

HP デバイスの BIOS 設定を変更するためにパスワードが必要な場合は、次のスクリプトを使用できます。

$HPBIOSPassword = "<utf-16/>"+"Passw0rd!1"
$getHPBios = gwmi -class hp_biossettinginterface -Namespace "roothpinstrumentedbios"
$getHPBios.SetBIOSSetting(‘Network (PXE) Boot','Disable',$HPBIOSPassword)

最後のコマンドが「0」を返した場合、コマンドは正常に実行されました。 単純な PowerShell ハンドラーを使用できます。

$ChangeBIOS_State = $bios.setbiossetting(Network (PXE) Boot', 'Disable' , $HPBIOSPassword)
$ChangeBIOS_State_Code = $ChangeBIOS_State.return
If(($ChangeBIOS_State_Code) -eq 0)
{
write-host "OK"
}
Else
{
write-host "Error - (Return code $ChangeBIOS_State_Code)" -Foreground Red
}

HP ラップトップの BIOS で LAN/WLAN 切り替えを有効にして、イーサネット接続が利用可能なときに Wi-Fi から自動的に切断するようにするには、次のコマンドを実行します。

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

HPをインストールすることもできます クライアント管理スクリプトライブラリ Hewlett Packard デバイスの (CMSL) 拡張子 (https://www.hp.com/us-en/solutions/client-management-solutions/download.html)。 CMSL には、BIOS/UEFU 設定の取得または変更、ファームウェアの更新などを可能にするいくつかの PowerShell モジュールが含まれています。

Advertisement

現在の BIOS 設定をテキスト ファイルにエクスポートします。

Get-HPBIOSSettingsList | Out-File -FilePath ‘C:ProgramDataHPCMSLLogsCurrentBIOSSettings.txt’

HP BIOS 設定で WLAN 自動切り替えオプションを有効にします。

Set-HPBIOSSettingValue -Name "LAN/WLAN Auto Switching" -Value Enable -Password BiosPass000rd

PowerShell を使用して DELL BIOS 設定を構成する

BIOS 設定を表示および管理できます。 デル を使用するコンピュータ DCIM-BIOSサービス WMI クラスまたは最新の ルートデロムシ クラス (OMCI のインストール後に使用可能、 クライアント インストルメンテーションの管理を開く)。

DELL コンピュータでは、DCIM-BIOSService WMI クラスまたは新しい rootdellomci クラス (OMCI – Open Manage Client Instrumentation のインストール後に使用可能) WMI クラスを使用して、BIOS 設定を表示および管理できます。

Dell コンピュータの BIOS で起動デバイスの順序を表示するには、次のコマンドを実行します。

Get-WmiObject -NameSpace rootdellomci Dell_BootDeviceSequence | sort bootorder | select BootDeviceName, BootOrder

Advertisement

PowerShell を使用して Dell コンピューターの BIOS 設定を表示および変更するための dellomci クラス

たとえば、次のように有効にできます ウェイクオンLAN BIOS では次のようになります。

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

さらに、Dell コンピュータの場合は、公式の DellBIOSプロバイダー PowerShell モジュール。ドライバーのインストール プロセスの一部としてインストールされます。または、次のコマンドを使用して手動でインストールできます。

Install-Module -Name DellBIOSProvider -Force

たとえば、このモジュールを使用して、Dell コンピュータの起動順序を取得できます。

Get-Item DellSmbios:BootSequenceBootsequence

BIOS パスワードが設定されていることを確認します。

Advertisement

Get-Item -Path DellSmbios:SecurityIsAdminPasswordSet

Dell デバイスの BIOS セキュリティ パスワードを変更します。

Set-Item -Path DellsmbiosSecurityAdminPassword –Value BadDellPa$$ –Password G00dDe11P@ss

PowerShell を使用して Windows デバイスの BIOS 設定を取得および変更する方法を確認しました。 これにより、すべてのコンピューターの BIOS/UEFI 設定を (SCCM、Intune、MDT などを使用して) 統一できます。

Advertisement