PowerShell WMI – Matching Function – BIOS Characteristics

Hi Guys,

When you are querying WMI objects to find BIOS informations you will face the BIOS Characteristics codes. Those interger match with supported features or enabled features. The list of interger and matching value is available on a MSDN Web page.

I then write a PowerShell function to make the matching of the digits and the string information:
[ps]Function Invoke-BIOSCharacteristic {
<#
.SYNOPSIS
Returns detailed BIOS Characteristic.

.PARAMETER BIOSCharacteristic
Describe parameter -BIOSCharacteristic.

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

.LINK
https://blog.prudhomme.wtf/powershell-wmi-matching-functions-bios-characteristics
#>
[OutputType([String])]
Param(
[Parameter(
Mandatory = $true,HelpMessage=’Add help message for user’
)]
[String]$BIOSCharacteristic
)
Write-Output -InputObject $(
switch ($BIOSCharacteristic) {
0 {‘Reserved’}
1 {‘Reserved’}
2 {‘Unknown’}
3 {‘BIOS Characteristics Not Supported’}
4 {‘ISA is supported’}
5 {‘MCA is supported’}
6 {‘EISA is supported’}
7 {‘PCI is supported’}
8 {‘PC Card (PCMCIA) is supported’}
9 {‘Plug and Play is supported’}
10 {‘APM is supported’}
11 {‘BIOS is Upgradable (Flash)’}
12 {‘BIOS shadowing is allowed’}
13 {‘VL-VESA is supported’}
14 {‘ESCD support is available’}
15 {‘Boot from CD is supported’}
16 {‘Selectable Boot is supported’}
17 {‘BIOS ROM is socketed’}
18 {‘Boot From PC Card (PCMCIA) is supported’}
19 {‘EDD (Enhanced Disk Drive) Specification is supported’}
20 {‘Int 13h – Japanese Floppy for NEC 9800 1.2mb (3.5, 1k Bytes/Sector, 360 RPM) is supported’}
21 {‘Int 13h – Japanese Floppy for Toshiba 1.2mb (3.5, 360 RPM) is supported’}
22 {‘Int 13h – 5.25 / 360 KB Floppy Services are supported’}
23 {‘Int 13h – 5.25 /1.2MB Floppy Services are supported’}
24 {’13h – 3.5 / 720 KB Floppy Services are supported’}
25 {‘Int 13h – 3.5 / 2.88 MB Floppy Services are supported’}
26 {‘Int 5h, Print Screen Service is supported’}
27 {‘Int 9h, 8042 Keyboard services are supported’}
28 {‘Int 14h, Serial Services are supported’}
29 {‘Int 17h, printer services are supported’}
30 {‘Int 10h, CGA/Mono Video Services are supported’}
31 {‘NEC PC-98’}
32 {‘ACPI supported’}
33 {‘USB Legacy is supported’}
34 {‘AGP is supported’}
35 {‘I2O boot is supported’}
36 {‘LS-120 boot is supported’}
37 {‘ATAPI ZIP Drive boot is supported’}
38 {‘1394 boot is supported’}
39 {‘Smart Battery supported’}
default {‘Unknown (Undocumented)’}
}
)
}[/ps]

This function is used in the function to gather informations of the BIOS configuration with WMI.

See you,

1 comment
  1. PowerShell WMI – Querying BIOS informations – Thomas Prud'homme
    May 22, 2017 at 10:31 am

    [???] 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. [???]

Comments are closed.