Get the BIOS version read and saved on the backup DVD

Hi guys,

I have an interesting question. I need a small utility which I could start before backup and save to DVD with the backup. This utility must read the BIOS info (let's say first three lines of Main page where the model version is written) and save this info into some file.
Then my backup will start.
After that I will start the PC from this backup CD and initiate restore. The tool must compare the BIOS of the machine and the information saved from backup source machine and warn me that I am going to restore to wrong machine.

Does anyone know such tool? I know that Panasonic does this check. But I am not able to find out what sort of tool or script is doing this.
LVL 47
noxchoGlobal Support CoordinatorAsked:
Who is Participating?
 
☠ MASQ ☠Connect With a Mentor Commented:
Depends how much detail you want to grab but here's a VBS script from the MS Script Center which extracts all the BIOS data through winmgnt.

This script then displays the results on screen but you could as easily choose the options you want to record and then save them to a file for comparison.
strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
 
Set colBIOS = objWMIService.ExecQuery _ 
    ("Select * from Win32_BIOS") 
 
For each objBIOS in colBIOS 
    Wscript.Echo "Build Number: " & objBIOS.BuildNumber 
    Wscript.Echo "Current Language: " & objBIOS.CurrentLanguage 
    Wscript.Echo "Installable Languages: " & objBIOS.InstallableLanguages 
    Wscript.Echo "Manufacturer: " & objBIOS.Manufacturer 
    Wscript.Echo "Name: " & objBIOS.Name 
    Wscript.Echo "Primary BIOS: " & objBIOS.PrimaryBIOS 
    Wscript.Echo "Release Date: " & objBIOS.ReleaseDate 
    Wscript.Echo "Serial Number: " & objBIOS.SerialNumber 
    Wscript.Echo "SMBIOS Version: " & objBIOS.SMBIOSBIOSVersion 
    Wscript.Echo "SMBIOS Major Version: " & objBIOS.SMBIOSMajorVersion 
    Wscript.Echo "SMBIOS Minor Version: " & objBIOS.SMBIOSMinorVersion 
    Wscript.Echo "SMBIOS Present: " & objBIOS.SMBIOSPresent 
    Wscript.Echo "Status: " & objBIOS.Status 
    Wscript.Echo "Version: " & objBIOS.Version 
    For i = 0 to Ubound(objBIOS.BiosCharacteristics) 
        Wscript.Echo "BIOS Characteristics: " & _ 
            objBIOS.BiosCharacteristics(i) 
    Next 
Next 

Open in new window

0
 
noxchoGlobal Support CoordinatorAuthor Commented:
Thanks masqueraid, I will give it a try.
0
 
noxchoGlobal Support CoordinatorAuthor Commented:
Hi MASQUERAID, I have managed to receive the BIOS and commode info now the last thing I am trying to resolve is a battery status.
Normally it should have been reported via "wmic path win32_batter get batterystatus". In another question I got a hint that battery.inf driver must be loaded as well.
Now a question, is there any additional component that should be added to winpe.wim (except driver) which must make it work?
In my case even after loading the driver checking battery returns me No Instance Found error.
0
Worried about phishing attacks?

90% of attacks start with a phish. It’s critical that IT admins and MSSPs have the right security in place to protect their end users from these phishing attacks. Check out our latest feature brief for tips and tricks to keep your employees off a hackers line!

 
☠ MASQ ☠Commented:
Can you show the script you are using to get the battery status?
Are you just polling for the presence of a battery or are you checking for a value related to charge status?
0
 
noxchoGlobal Support CoordinatorAuthor Commented:
I am using a simple wmi command in CMD under WinPE later going to be run via .bat file.
My command is wmic path win32_battery get batterystatus.
In Windows it returns code 1 or 2 depending on charging or discharging status.
But in WinPE I get "No Instance(s) Available" for this command. I am teying to understand if it is possible at all. Although I aphave managed to do it once after many attempts with different components added to WinPE. :)
0
 
noxchoGlobal Support CoordinatorAuthor Commented:
It was missing battery driver which was not loading automatically after WinPE load which prevented me using your input.
Simply loaddrv command at startnet.cmd fixed it.
Thank you for pointing me to right direction.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.