the.neon Posted February 8, 2005 Posted February 8, 2005 Hello,does anybody know a tool read bios information. Barts PE is the OS for this tool.Tanksneon
jaclaz Posted February 8, 2005 Posted February 8, 2005 The one you should need is smbios:http://www.techweb.com/winmag/fixes/2000/0825.htm Though I cannot say if it works under Bart, the 16 bit version works under 2000 and Xp, so it "should" work under Bart too.If you are interested in BIOS modding, a fairly good list of progs is here:http://www.icronticforums.com/showthread.php?t=507jaclaz
mbouchard Posted February 8, 2005 Posted February 8, 2005 How about WMI? If I am not mistaken, BartsPE supports it.
muevelonyc Posted February 8, 2005 Posted February 8, 2005 WMI calls to the bios works (for PE 2004 at least, which is WinXP SP2 based). You just have to code it to call it. I use it to poll the model, serial #, and the current bios rom version.
plangone Posted February 8, 2005 Posted February 8, 2005 As others noted, PE 2004 supports WMI if you build it using the /WMI switch. Then you just need a VBS or WSH script to read what you want.For example, this will pull the serial number from the BIOS.strComputer = "."Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")Set colBIOS = objWMIService.ExecQuery _ ("Select * from Win32_BIOS")For each objBIOS in colBIOS serialnumber = objBIOS.SerialNumberNextMicrosoft's Scriptomatic tool will help you create quick WMI code.
Bilou_Gateux Posted February 14, 2005 Posted February 14, 2005 MITeCselect "System Information Component"download the freeware package: contains RBE ROM BIOS Explorer - tool for BIOS/SMBIOS/DMI browsing and disassembling.Works fine under XP Embedded, haven't yet checked under PE.File > Details <CTRL>+<D> will give you all infos read from SMBIOS.
jgould Posted February 16, 2005 Posted February 16, 2005 where do you enable the /WMI switch in BartPE? I also saw nothing on the Bart web site about supporting WMI, but I hope it does!
toasterking Posted July 8, 2009 Posted July 8, 2009 I know I'm a little late for this thread, but I also had difficulty adding WMI support to BartPE. We use BartPE to deploy operating systems, which need to be automatically selected based on the hardware platform we are installing onto. Thus I needed to enable WMI in BartPE to be able to query the BIOS for its System and Model strings, which can then be used to automatically select the OS and start installation. Despite the overhead, I still wanted to maintain a fairly minimal footprint for BartPE. I tried several solutions suggested in this and other forums but none worked for me or provided enough information. This is how I finally got it to work:1. Download and extract the Windows XPE plugin 1.0.7 (by Sherpya) for BartPE, and copy to the plugins directory.2. Run PEBuilder and enable these plugins: Windows XPE v1.0.7 Windows XPE: Defaults v1.0.7 Windows XPE: MMC v1.0.7 Windows XPE: WMI v1.0.7Then build BartPE.3. Boot a computer from new BartPE image. Start command prompt and type: xpeinit -w4. Wait until a subdirectory called "Repository" is created in %temp%. Copy it back to the PEBuilder file structure. Store it in the Includes directory specified in PEBuilder, under the path: [includes folder]\I386\system32\wbem5. Run PEBuilder and disable this plugin: Windows XPE: Defaults v1.0.76. Build BartPE again, being sure that the Includes directory is populated in PEBuilder.I provide this in hopes that someone else finds it valuable.
toasterking Posted July 8, 2009 Posted July 8, 2009 BTW, I used AutoIt 3 to read the data from the BIOS by querying WMI via COM. This is the code I used:#cs ---------------------------------------------------------------------------- AutoIt Version: 3.3.0.0 Author: Toasterking Script Function: Writes WMI strings from BIOS to file.#ce ----------------------------------------------------------------------------If FileExists(@TempDir & "\BIOS_Strings.txt") Then FileDelete(@TempDir & "\BIOS_Strings.txt")$ObjWMIService = ObjGet('winmgmts:{impersonationLevel=impersonate}!\\' & @ComputerName & '\root\cimv2'); Create handle to WMI objectIf (IsObj($ObjWMIService)) And (Not @error) Then; If successsful $ColumnCompsys = $ObjWMIService.ExecQuery('Select * from Win32_ComputerSystem') $BIOSSystem = 0 For $ObjCompsys In $ColumnCompsys $BIOSSystem = $ObjCompsys.Model Next If $BIOSSystem Then FileWriteLine(@TempDir & "\BIOS_Strings.txt","System: " & $BIOSSystem) $ColumnBIOS = $ObjWMIService.ExecQuery('Select * from Win32_BIOS') $BIOSSerial = 0 For $ObjBIOS In $ColumnBIOS $BIOSSerial = $ObjBIOS.SerialNumber Next If $BIOSSerial Then FileWriteLine(@TempDir & "\BIOS_Strings.txt","Serial: " & $BIOSSerial)Else; If unsuccessful in creating COM object MsgBox(262192,"Uh-oh","Cannot create a reference to a COM object for WMI. Unable to retrieve WMI information. Strings will not be read from the BIOS and auto-selection of Windows edition will not be properly influenced. Please notify a workstation configuration engineer that you received this message.")EndIf
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now