Computer >> 컴퓨터 >  >> 체계 >> Windows 10

PowerShell을 사용하여 BIOS 설정 보기 및 변경

PowerShell을 사용하여 Windows를 실행하는 컴퓨터에서 BIOS 설정을 보거나 변경할 수 있습니다. HP, Lenovo, Dell과 같은 인기 공급업체의 컴퓨터에서 WMI 클래스(Windows Management Instrumentation)를 통해 PowerShell로 일부 BIOS 설정을 가져오거나 수정하는 데 사용할 수 있는 몇 가지 예를 살펴보겠습니다.

Win32_BIOS에서 Get-WmiObject cmdlet을 사용하여 컴퓨터의 기본 BIOS 매개변수를 볼 수 있습니다. 클래스:

Get-WmiObject -Class Win32_BIOS | Format-List *

이 명령을 사용하면 BIOS 버전(SMBIOSBIOSVersion, BIOSVersion), 하드웨어 제조업체, 컴퓨터 일련 번호, ReleaseDate 및 기타 정보를 볼 수 있습니다.

PowerShell을 사용하여 BIOS 설정 보기 및 변경

다음 BIOS 매개변수 중 일부만 나열할 수 있습니다.

Get-WmiObject -Class Win32_BIOS | Select-Object Manufacturer, SMBIOSBIOSVersion

Win32_BIOS 클래스를 사용하여 Windows를 실행하는 모든 컴퓨터에서 일부 BIOS 정보를 볼 수 있습니다. 그러나 일부 하드웨어 공급업체는 Windows OS에서 BIOS에 직접 액세스하기 위해 특별한 WMI 클래스를 제공합니다(하드웨어 제조업체의 기본 드라이버가 컴퓨터에 설치되어 있어야 함).

PowerShell의 Lenovo BIOS 설정 관리

Lenovo에서 BIOS 매개변수 및 해당 값 목록을 얻을 수 있습니다. 다음과 같은 컴퓨터:

Get-WmiObject -class Lenovo_BiosSetting -namespace root\wmi

BIOS 설정의 이름과 현재 값만 표시하려면:

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

PowerShell을 사용하여 BIOS 설정 보기 및 변경

Lenovo 컴퓨터에 BIOS 액세스 암호가 설정되어 있는지 확인해 보겠습니다.

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

명령이 0을 반환했다면 BIOS 진입을 위한 암호가 설정되지 않은 것입니다.

PowerShell을 사용하여 BIOS 설정 보기 및 변경

Lenovo 컴퓨터에서 일부 BIOS 매개변수를 변경할 수 있습니다. 예를 들어 WOL(Wake-On-LAN)을 활성화해 보겠습니다.

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

Hewlett-Packard 컴퓨터의 PowerShell에서 BIOS 설정 변경

HP에서 BIOS 설정, 해당 값 및 사용 가능한 옵션을 가져오려면 컴퓨터에서 다음 명령을 사용할 수 있습니다.

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

PowerShell에서 HP 컴퓨터의 일부 BIOS 설정을 변경할 수 있습니다. 예를 들어 USB 장치에서 컴퓨터 부팅을 비활성화하려고 합니다.

$getHPBios = gwmi -class hp_biossettinginterface -Namespace "root\hp\instrumentedbios"
$getHPBios.SetBIOSSetting('USB Storage Boot','Disable')

BIOS 설정을 변경하는 데 암호가 필요한 경우 다음 스크립트를 사용할 수 있습니다.

$HPBIOSPassword = "<utf-16/>"+"Passw0rd!1"
$getHPBios = gwmi -class hp_biossettinginterface -Namespace "root\hp\instrumentedbios"
$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')

PowerShell을 사용하여 DELL BIOS 설정 구성

DELL의 BIOS 설정을 보고 관리하려면 컴퓨터에서 DCIM-BIOSService를 사용할 수 있습니다. WMI 클래스 또는 최신 root\delomci 클래스(OMCI 패키지 설치 후 사용 가능 — 클라이언트 계측 열기 관리 ).

Dell 컴퓨터의 BIOS에서 부팅 장치 순서를 보려면 다음 명령을 실행하십시오.

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

PowerShell을 사용하여 BIOS 설정 보기 및 변경

예를 들어 Wake on LAN을 활성화할 수 있습니다. BIOS에서 다음과 같이:

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

또한 Dell은 별도의 PowerShell 모듈인 DellBIOSProvider를 출시했습니다. , 드라이버 설치와 함께 설치되거나 다음 명령을 사용하여 수동으로 설치할 수 있습니다.

Install-Module -Name DellBIOSProvider -Force

이 모듈을 사용하여 Dell 컴퓨터의 부팅 순서를 볼 수 있습니다.

Get-ChildItem DellSmbios:\BootSequence\Bootsequence

특정 BIOS 설정을 변경하려면 Set-Item cmdlet을 사용합니다. 예를 들어 BIOS 암호를 변경하려면:

Set-Item -Path Dellsmbios\Security\AdminPassword –Value BadDellPa$$ –Password G00dDe11P@ss

위에서 설명한 방법을 사용하여 참조 컴퓨터(예:CSV 파일)에서 현재 BIOS 설정을 내보내는 PowerShell 스크립트를 만들 수 있습니다. 그런 다음 PowerShell을 사용하여 회사의 모든 컴퓨터에 동일한 BIOS 설정을 배포할 수 있습니다.