PowerShell WMI – Querying BIOS informations

Hi Guys,

I will start a small blog post serie with PowerShell functions I wrote that query WMI of remote computer. Here is the first function:
[ps]Function Get-BIOSInfo {
Describe purpose of "Get-BIOSInfo" in 1-2 sentences.

Add a more complete description of what the function does.

.PARAMETER ComputerName
Describe parameter -ComputerName.

Get-BIOSInfo -ComputerName Value
Describe what this call does

Author: Thomas Prud’homme (Twitter: @prudhommewtf).

[String]$ComputerName = $env:COMPUTERNAME
Begin {
# Win32_BIOS: http://msdn.microsoft.com/en-us/library/aa394077(VS.85).aspx
$Win32_BIOS = Get-WmiObject -Namespace root\CIMV2 -Class Win32_BIOS -Property BiosCharacteristics, SMBIOSBIOSVersion, SMBIOSMajorVersion, SMBIOSMinorVersion, Version -ComputerName $ComputerName
Process {
Write-Verbose -Message ‘BIOS gathered information:’
$Output = @()
$Win32_BIOS | ForEach-Object {
$BIOSInfo = New-Object -TypeName PSObject -Property @{
SMBIOSMajorVersion = $_.SMBIOSMajorVersion
SMBIOSMinorVersion = $_.SMBIOSMinorVersion
Version = $_.Version
BiosCharacteristics = $_.BiosCharacteristics | ForEach-Object -Process { Invoke-BIOSCharacteristic -BIOSCharacteristic $_ }

$BIOSInfo.psobject.Properties | ForEach-Object {
Write-Verbose -Message "`t$($_.Name): $($_.Value)"

$Output += $BIOSInfo
End {
Write-Output -InputObject $Output

This function will provide you basic information over the BIOS configuration of the computer you want to query.
For the purpose of this script I used another function I wrote to match the BIOS Charactics integer with features names or configuration, you can find it there.

See you,

1 comment

Comments are closed.