druiddk Posted June 12, 2006 Share Posted June 12, 2006 @Bezalel:Manufacturer: LENOVOModel: 8258J4U4C454E4F 564FIn this example I would rename the OEMBIOS files into 4C454E4F564F.* and then it should work for all computers with manufacturer LENOVO? or would this be specific to the 8258J4U model?Thank you in advance! Link to comment Share on other sites More sharing options...
FreeStyler Posted June 12, 2006 Share Posted June 12, 2006 @Bezalel:Manufacturer: LENOVOModel: 8258J4U4C454E4F 564FIn this example I would rename the OEMBIOS files into 4C454E4F564F.* and then it should work for all computers with manufacturer LENOVO? or would this be specific to the 8258J4U model?Thank you in advance! Yes, 4C454E4F564F.* files are being used for all pc's where Manufacturer is set to: LENOVOModelname and type as of yet is not being used in this whole story (might be later) Link to comment Share on other sites More sharing options...
druiddk Posted June 12, 2006 Share Posted June 12, 2006 (edited) Manufacturer: IBMModel: 1871F1G49424DBtw:for /F "tokens=1* delims='" %%a in ('smbios2.exe /G ^|findstr "Manufacturer"') do (cscript CreateBatFile.vbs "%%b"GOTO ENDFOR)Why is the GOTO ENDFOR included? As I see it it should just continue with the next command when the FOR is completed and since the :ENDFOR is right after the FOR command it seems pointless to me? Edited June 12, 2006 by druiddk Link to comment Share on other sites More sharing options...
Djé Posted June 12, 2006 Share Posted June 12, 2006 Why is the GOTO ENDFOR included? As I see it it should just continue with the next command when the FOR is completed and since the :ENDFOR is right after the FOR command it seems pointless to me?Because Findstr may find more than one "Manufacturer" line (Bezalel reported so) and you don't want to iterate on all of them but just take the 1st one (which hopefully is the right one). Hence the GOTO once the job is done. Link to comment Share on other sites More sharing options...
druiddk Posted June 12, 2006 Share Posted June 12, 2006 Ah Djé thank you for clearing that up for me Link to comment Share on other sites More sharing options...
Bezalel Posted June 12, 2006 Author Share Posted June 12, 2006 Why is the GOTO ENDFOR included? As I see it it should just continue with the next command when the FOR is completed and since the :ENDFOR is right after the FOR command it seems pointless to me?Because Findstr may find more than one "Manufacturer" line (Bezalel reported so) and you don't want to iterate on all of them but just take the 1st one (which hopefully is the right one). Hence the GOTO once the job is done.Since SMBIOS.EXE always reports the structures in numerical order the first manufacturer to be encountered is in the system structure (Structure type 1). according to the SMBIOS spec there must be 1 and only 1 structure of type 1. Structure Type 0 (BIOS) does not contain a manufacturer field.The Following Structures may also contain a manufacturer:2 Base Board3 System Enclosure4 Processor22 Portable Battery30 Out-of-Band Remote Access39 System Power Supply Link to comment Share on other sites More sharing options...
Bezalel Posted June 12, 2006 Author Share Posted June 12, 2006 Can your script filter out the additional spaces or can you make/modify your script so it checks if, when no exact match is being found files with a partially the same pattern (4865776C6574742D5061636B617264) are being used?I will trim the string to remove leading and trailing spaces in a future version. Partial matches are hard to code and if I ever implement CRC32 it will be impossable to implement partial matches. Link to comment Share on other sites More sharing options...
FreeStyler Posted June 12, 2006 Share Posted June 12, 2006 Can your script filter out the additional spaces or can you make/modify your script so it checks if, when no exact match is being found files with a partially the same pattern (4865776C6574742D5061636B617264) are being used?I will trim the string to remove leading and trailing spaces in a future version. Partial matches are hard to code and if I ever implement CRC32 it will be impossable to implement partial matches.That would be cool, hey maybe eventually you can make a check that searches for Strings like: IBM, ACER, DELL....this way you would save quite some diskspace as you do not need files for every other variation in "System Manufacturer" names. Link to comment Share on other sites More sharing options...
Bezalel Posted June 12, 2006 Author Share Posted June 12, 2006 hey maybe eventually you can make a check that searches for Strings like: IBM, ACER, DELL....this way you would save quite some diskspace as you do not need files for every other variation in "System Manufacturer" names.I'm not concerned with disk space since identical files are only written once to the CD. Implementing this would require hardcoding the manufacturer names in the script (I don't want to do this) or maintaining a database (too much work for too little benefit). Link to comment Share on other sites More sharing options...
FreeStyler Posted June 12, 2006 Share Posted June 12, 2006 (edited) hey maybe eventually you can make a check that searches for Strings like: IBM, ACER, DELL....this way you would save quite some diskspace as you do not need files for every other variation in "System Manufacturer" names.I'm not concerned with disk space since identical files are only written once to the CD. Implementing this would require hardcoding the manufacturer names in the script (I don't want to do this) or maintaining a database (too much work for too little benefit).no, i believe the opposite is true and the benefit of such method will be greater then its limitations... I'll try to explain...if you search manufacturer strings for example "Dell" or as hex "44656C6C" you would have a more variable system that should work on various types of Dell Systems.Dell PC's come with a randomly named '"System Manufacturer" string, one advantage it always starts with "Dell" eg;Dell Computer Corp.Dell Computer CorporationDell Computer Corporation.Dell Inc.And maybe a whole lot more variations... who knows!Using a technique like this you have a more "reliable" versatile fail safe method that should work on every dell pcSame counts for Acer, eg:AcerAcer, Inc.AcerSystem Edited June 12, 2006 by FreeStyler Link to comment Share on other sites More sharing options...
tkmadison Posted June 13, 2006 Share Posted June 13, 2006 Manufacturer: None (Seanix Technology) Model: D400S 4E6F6E65Manufacturer: Mind Computer Products Model: KM266-8235 4D696E64 20436F6D 70757465 72205072 6F647563 7473 Link to comment Share on other sites More sharing options...
ZaForD Posted June 13, 2006 Share Posted June 13, 2006 (edited) @FreeStylerif you search manufacturer strings for example "Dell" or as hex "44656C6C" you would have a more variable system that should work on various types of Dell Systems.Dell PC's come with a randomly named '"System Manufacturer" string, one advantage it always starts with "Dell" eg;Dell Computer Corp.Dell Computer CorporationDell Computer Corporation.Dell Inc.And maybe a whole lot more variations... who knows!An Admin here asked about the same thing.On a ramdon check of the Dell's in this office, we had three different 'System Manufacturers'. So,he wanted to know:Could the scripts in the activation.rar be limited to using only the first 8 or 10 digits of the Manufacturers Hex ?That way you shouldn't need a load of OEM filesets for Dell's, Acer's and HP's.Bezalel's reply was to add this line;You can always add the following line to your own codeCODEMfgHex=Left(MfgHex,8)I haven't seen him since to find out if it worked for him.But it should reduce the amount of OEMBIOS files needed to cover this network of Dell's.p.s. Thanks for the VPC tut. Edited June 13, 2006 by ZaForD Link to comment Share on other sites More sharing options...
Bilou_Gateux Posted June 13, 2006 Share Posted June 13, 2006 (edited) I have a working solution for Royalty OEM RIS install.I'm using the first 3 Manufacturer Characters - like: HEW,DEL,MED,ACE,FUJ,ASU,IBM,SON instead of converting Manufacturer string to hex and renaming multiple OEMBIOS.* files.ristndrd.sif[GuiUnattended]OemSkipWelcome = 1OemSkipRegional = 1TimeZone = %TIMEZONE%AdminPassword = "*"DetachedProgram=".\system32\cmd.exe"Arguments="/Q /C FOR /F %I IN (%SystemRoot%\SYSTEM32\$WINNT$.INF) DO (FOR %J IN (%I\$OEM$) DO (IF EXIST %J (%J\NirCmd.exe exec hide %J\OEMBUILD.CMD)))"[SetupParams]UserExecute="\$WIN_NT$.~LS\$OEM$\nircmd.exe script \$WIN_NT$.~LS\$OEM$\fbreseal.ncl"Destination folder $oem$copy compname.execopy nircmd.exefor each manufacturer create a subfolder named with the 3 leftmosts chars of the manufacturer string and copy OEMBIOS.* + oemlogo.bmp to this subfolder.Example for Hewlett-Packard, in $oem$ i have HEW subfolder and insideOEMBIOS.*oemlogo.bmpscript launched by DetachedProgram @T39 @REM ==================================================================@REM © Copyright 2006 Bill Gates Development Company, L.P.@REM @REM Royalty OEM PCs - RIS (Remote Installation Services) based install@REM @REM Credits: Bezalel for initial idea and coding for CD based install@REM @REM Credits: idle.newbie hp38guser schalti Pyron a06lp for drivers from CD based install@REM http://www.msfn.org/board/index.php?s=&showtopic=51406&view=findpost&p=358011==================================================================@FOR /F %%a IN (%SystemRoot%\SYSTEM32\$WINNT$.INF) DO (FOR %%b IN (%%a) DO (IF EXIST %%b (SET DOSPATH=%%b)))@for /F "tokens=2* delims=: " %%i in ('%dospath%\$oem$\compname.exe /s ^|findstr /L /c:"System manufacturer"') do @set Manufacturer=%%j &@call :oem "%%j" &@call :model @echo/[General]>%SystemRoot%\System32\oeminfo.ini@echo/Manufacturer=%Manufacturer%>>%SystemRoot%\System32\oeminfo.ini@echo/Model=%Model%>>%SystemRoot%\System32\oeminfo.ini@echo/supporturl=%supporturl%>>%SystemRoot%\System32\oeminfo.ini@echo/>>%SystemRoot%\System32\oeminfo.ini@echo/[Support Information]>>%SystemRoot%\System32\oeminfo.ini@echo/Line1=' '>>%SystemRoot%\System32\oeminfo.ini@echo/Serial=%Serial%>>%SystemRoot%\System32\oeminfo.ini@copy /y %dospath%\$oem$\%oem%\oemlogo.bmp %SystemRoot%\System32\oemlogo.bmp >nul:jumpfor %%? in (bi si da ca) do ( copy /y %dospath%\$oem$\%OEM%\oembios.%%?_ %SystemDrive%\$win_nt$.~ls\i386 expand -r %dospath%\$oem$\%oem%\oembios.%%?_ %SystemRoot%\system32\):drivers:: Set Drivers Location Folder SET DRV=%SystemDrive%\Drivers:: Ticker script ECHO.exec hide %dospath%\$oem$\Process.exe -r setup.exe >%SystemDrive%\Ticker.ncl ECHO.wait 10000 >>%SystemDrive%\Ticker.ncl ECHO.exec hide %dospath%\$oem$\Process.exe -p SetupCopyOEMInf.exe high >>%SystemDrive%\Ticker.ncl ECHO.exec hide %dospath%\$oem$\Process.exe -s setup.exe >>%SystemDrive%\Ticker.ncl ECHO.wait 50000 >>%SystemDrive%\Ticker.ncl ECHO.script %SystemDrive%\Ticker.ncl >>%SystemDrive%\Ticker.ncl:: Pre-Install (Suspend Setup, and Set Setup to Low Priority) %dospath%\$oem$\Process.exe -s setup.exe %dospath%\$oem$\Process.exe -p setup.exe low:: If Compressed Drivers Exist, Unzip Them & Change Drivers Location Folder to Hard Drive IF EXIST Drivers.7z ( SET DRV=%SystemDrive%\Drivers %dospath%\$oem$\7za.exe x -y -aoa -o"%SystemDrive%\Drivers" "%dospath%\$oem$\Drivers.7z" ):: If Compressed Drivers Exist, Uncab Them & Change Drivers Location Folder to Hard Drive IF EXIST %dospath%\$oem$\EC834ET.TAG ( IF /I "%Model%"=="HP Compaq dc7600 Convertible Minitower" ( SET DRV=%SystemDrive%\Drivers extrac32 /y /l %SystemDrive%\Drivers\Video %dospath%\$oem$\11725988.cab *.* extrac32 /y /l %SystemDrive%\Drivers\NIC %dospath%\$oem$\b57win32.cab *.* extrac32 /y /l %SystemDrive%\Drivers\Audio %dospath%\$oem$\rtkazaud.cab *.* ) ) IF EXIST %dospath%\$oem$\D1944.TAG ( IF /I "%Model%"=="SCENIC C620" ( SET DRV=%SystemDrive%\Drivers extrac32 /y /l %SystemDrive%\Drivers\Video %dospath%\$oem$\IALMNT5.CAB *.* extrac32 /y /l %SystemDrive%\Drivers\NIC %dospath%\$oem$\b57win32.cab *.* extrac32 /y /l %SystemDrive%\Drivers\Audio %dospath%\$oem$\smwdmch6.cab *.* extrac32 /y /l %SystemDrive%\Drivers\Misc1 %dospath%\$oem$\cmeu0wdm.cab *.* ) ):: Run NirCmd Ticker Script (code above) START %dospath%\$oem$\NirCmd.exe script %SystemDrive%\Ticker.ncl:: Install Drivers %dospath%\$oem$\SetupCopyOEMInf.exe "%DRV%":: Post-Install (Close NirCmd, Setup Priority back to Normal, Resume Setup) %dospath%\$oem$\Process.exe -k NirCmd.exe %dospath%\$oem$\Process.exe -p setup.exe normal %dospath%\$oem$\Process.exe -r setup.exe:: Delete Ticker File DEL %SystemDrive%\Ticker.nclgoto :eof:model@for /F "tokens=1* delims=: " %%k in ('%dospath%\$oem$\compname /s ^|findstr /c:"model"') do @set Model=%%l@for /F "tokens=1*" %%m in ('%dospath%\$oem$\compname /d ?s') do @set Serial=%%m@for /F "tokens=1-2*" %%n in ('findstr "%oem%" %~s0') do (set supporturl=%%o)@goto :eof :oem@set oem=%1@set oem=%oem:"=%@set oem=%oem:~0,3%@goto :eof[Manufacturer]FUJ http://support.fujitsu-siemens.com/com/support/index.html : Fujitsu Siemens ComputersHEW http://welcome.hp.com/country/us/en/support.html?pageDisplay=support : Hewlett-PackardNEC http://help1.nec-computers.com/main.asp?lang=com : NEC Computers InternationalTOS http://www.csd.toshiba.com/cgi-bin/tais/su/su_sc_home.jsp : TOSHIBAnircmd script launched by UserExecute @T9execmd move /y ~$sys.systemroot$\system32\dllcache\oembios.cat ~$sys.systemroot$\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}regsetval sz "HKLM\SOFTWARE\OEM\Image" "" "Royalty OEM Preinstalled Image"exec show "~$sys.systemdrive$\$win_nt$.~ls\$oem$\zcnclite.exe" "/wmi:~qWin32_BIOS,SerialNumber~q /sn:~qSN-~q /q /forcerun"[EDIT]Done some rewrite of the script for RIS[/EDIT] Edited July 26, 2006 by Bilou_Gateux Link to comment Share on other sites More sharing options...
FreeStyler Posted June 13, 2006 Share Posted June 13, 2006 (edited) Manufacturer: None (Seanix Technology) Model: D400S 4E6F6E65Manufacturer: Mind Computer Products Model: KM266-8235 4D696E64 20436F6D 70757465 72205072 6F647563 7473Did these 2 come with Windows Xp Preinstalled? i don't know these brands, oembios files? PS, Thx for the LENOVO files Edited June 13, 2006 by FreeStyler Link to comment Share on other sites More sharing options...
Djé Posted June 13, 2006 Share Posted June 13, 2006 A bit like Bilou, I have a solution called from DetachedProgram @T39.It is not a Compname/batch solution but it uses the RBE.EXE prog (MiTeC ROM BIOS Explorer 2.2) together with a modular AutoIt script.It is still a bit too alpha for releasing (don't worry Bezalel, I'll start a new thread if ever I do), but here is an idea that I'm implementing and may be found useful by others:-I use only XP home systems so the productkeys are not the standard one from microsoft. I have to save mines before (thanks to Bezalel's idea). The one paired with the OEMBIOS.* files has to be restored to 'SYSTEM32\$WINNT$.INF' early enough (T12 is too late), hence the T39.-Althoug it's working with a CD based install, I use winnt(32).exe based installs (network or usb drive), which makes a local source on the sytem. So I don't want to download ALL the oembios sets to the local source since I will use only one.So @T39, my AutoIt script just writes a batch script that will be run @T12 to connect again to the network (there is no network @T39) and download the files to System32 (and move the cat to \CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}).It works like a charm. Other features (if someone's interested):- 1 (double-)click back-up, silent restore!- Modules allow to backup/import other custom setting that you usually have to fill in winnt.sif: My winnt.sif is a very standard one with basic infos. So the command to run winnt(32).exe is always the same (no need for a different answer file for each system).- Current modules cover (at least partially) the Display, NetworkIdentification & UserData sections of winnt.sif. Plus a module for custom commands to be run at T39, T12 or RunOnceEx.- Backed-up data is stored in a .ini file, easy to edit, manually or with AutoIt.- oembios.* file and backed-up data can be tagged with either the System's Manufacturer, Model, Version, Serial or UUID (all from type1 smbios, other tables could be implemented). Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now