I'm wondering if there's a way to retrieve information on the BIOS from within Windows 7 without rebooting and going into the BIOS.

I've checked Control Panel\System and Security\System and Device Manager.

A registry key or a built-in GUI or commandline tool is fine, I would also settle for something I have to download if there is no included way.

The more info it can get the better. For instance American Megatrends / Phoenix / Award plus version numbers, dates, whatever.

UPDATE

I have now been able to find some settings in the registry...

  • HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\SystemBiosDate
  • HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\SystemBiosVersion
  • HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\VideoBiosDate
  • HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\VideoBiosVersion

Is there any more detailed information that can also be retrieved from within the OS?

link|improve this question

75% accept rate
By "information on the BIOS" do you mean information about the BIOS or actual settings within the BIOS? – Tarek Fadel Aug 14 '11 at 9:05
@Tarek Fadel: The former, "information about the BIOS". – hippietrail Aug 14 '11 at 16:58
You can't then. That's up to the manufacturer to implement (and provide software for). I've seen some (e.g. ASUS/Gigabyte) do this on their recent motherboards, but there is no use-for-all program. – Breakthrough Aug 15 '11 at 0:18
feedback

4 Answers

If you don't mind a little vbscript, the code below will return everything that Windows knows about the BIOS. I can't take credit for the code - it comes directly from the Microsoft Scriptomatic app.

Copy the code below into a file called BIOS-Info.vbs (or whatever you want to name it), and then at a command prompt type: cscript BIOS-info.vbs

vbscript code follows:

On Error Resume Next

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

arrComputers = Array(".")
For Each strComputer In arrComputers
   WScript.Echo
   WScript.Echo "=========================================="
   WScript.Echo "Computer: " & strComputer
   WScript.Echo "=========================================="

   Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
   Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_BIOS", "WQL", _
                                          wbemFlagReturnImmediately + wbemFlagForwardOnly)

   For Each objItem In colItems
      strBiosCharacteristics = Join(objItem.BiosCharacteristics, ",")
         WScript.Echo "BiosCharacteristics: " & strBiosCharacteristics
      strBIOSVersion = Join(objItem.BIOSVersion, ",")
         WScript.Echo "BIOSVersion: " & strBIOSVersion
      WScript.Echo "BuildNumber: " & objItem.BuildNumber
      WScript.Echo "Caption: " & objItem.Caption
      WScript.Echo "CodeSet: " & objItem.CodeSet
      WScript.Echo "CurrentLanguage: " & objItem.CurrentLanguage
      WScript.Echo "Description: " & objItem.Description
      WScript.Echo "IdentificationCode: " & objItem.IdentificationCode
      WScript.Echo "InstallableLanguages: " & objItem.InstallableLanguages
      WScript.Echo "InstallDate: " & WMIDateStringToDate(objItem.InstallDate)
      WScript.Echo "LanguageEdition: " & objItem.LanguageEdition
      strListOfLanguages = Join(objItem.ListOfLanguages, ",")
         WScript.Echo "ListOfLanguages: " & strListOfLanguages
      WScript.Echo "Manufacturer: " & objItem.Manufacturer
      WScript.Echo "Name: " & objItem.Name
      WScript.Echo "OtherTargetOS: " & objItem.OtherTargetOS
      WScript.Echo "PrimaryBIOS: " & objItem.PrimaryBIOS
      WScript.Echo "ReleaseDate: " & WMIDateStringToDate(objItem.ReleaseDate)
      WScript.Echo "SerialNumber: " & objItem.SerialNumber
      WScript.Echo "SMBIOSBIOSVersion: " & objItem.SMBIOSBIOSVersion
      WScript.Echo "SMBIOSMajorVersion: " & objItem.SMBIOSMajorVersion
      WScript.Echo "SMBIOSMinorVersion: " & objItem.SMBIOSMinorVersion
      WScript.Echo "SMBIOSPresent: " & objItem.SMBIOSPresent
      WScript.Echo "SoftwareElementID: " & objItem.SoftwareElementID
      WScript.Echo "SoftwareElementState: " & objItem.SoftwareElementState
      WScript.Echo "Status: " & objItem.Status
      WScript.Echo "TargetOperatingSystem: " & objItem.TargetOperatingSystem
      WScript.Echo "Version: " & objItem.Version
      WScript.Echo
   Next
Next


Function WMIDateStringToDate(dtmDate)
WScript.Echo dtm: 
    WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _
    Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _
    & " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate,13, 2))
End Function
link|improve this answer
I forgot about that, Ive even used that script before. – Keltari Aug 14 '11 at 23:15
feedback

msinfo32.exe will give you some information about the BIOS.

link|improve this answer
feedback

Open Microsoft Word, click the help menu, and then click "About Microsoft Word", Then click "System Info". You will find everything there. Hope that helps.

link|improve this answer
Ah I see it just runs msinfo32.exe that Keltari talks about in his answer. – hippietrail Oct 6 '11 at 17:07
feedback

I'm not certain but I think that cpuid may do it you can download it from here.

http://www.cpuid.com/softwares/cpu-z.html

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.