Is it possible to update a laptop BIOS as a post install task?
I have created a post install task to update the BIOS on a Dell E5400. I have checked the reboot required box on the post install.
The post install task runs correctly and the updated BIOS installs but after the reboot the task runs again. It is an infinite BIOS update over and over. The K2000 never moves on to the next task.
Any ideas would be greatly appreciated.
Answers (4)
the DUP (Dell Update Package) is restarting the system at the end if you do not modify it, which could cause the issue.
A few questions:
How do you run it?
Does the log say something?
Is the BIOS updated?
Please be aware that Dell BIOS cannot updated over too big level jumps (from A00 to A25 or similar)
Here is how I do it.
I have a smart label that identifies the hardware and BIOS version Example "Latitude 7410 bios less than 1.6.0"
Smart label:
you could also add an additional line like
"BIOS Version > 1.3.0 AND"
to limit it to install on bios version greater than 1.3.0 and less than 1.6.0
I then use a Distribution to install the bios.
Managed Install:
Latitude_7X10_1.6.0.exe /s /r /bls
One possible solution could be to use a K1000 Package for the BIOS Update.
We did this with a Powershell Script.
# Get Bios Password from File. The PW is stored in BIOS.txt (not the best way -therefore I'm working on a newer version at the
# Moment)
# %YourPackageID% is the ID of your System Management Appliance Package
$BiosPassword = Get-Content C:\ProgramData\Quest\KACE\kbots_cache\packages\kbots\%YourPackageID%\Bios.txt
write-host $BiosPassword
#Create Model Variable by using WMI
$ComputerModel = Get-WmiObject -Class Win32_computersystem | Select-Object -ExpandProperty Model
write-host $ComputerModel
#Get Bios File Name (Uses the Bios EXE file in the same folder)
$BiosFileName = Get-ChildItem C:\ProgramData\Quest\KACE\kbots_cache\packages\kbots\%YourPackageID%\$ComputerModel\*.exe -Verbose | Select -ExpandProperty Name
write-host $BiosFileName
#Copy Bios Installer and flashtool to x:\ - the Flash64W didn't like when I left it in the Computer Model folder
# %Company-Name% is a folder in %programdata% where we store customer specific Files (Breadcrumbs)
New-Item -Path C:\ProgramData\%Company-Name%\BIOS-Update\$ComputerModel -ItemType Directory
Copy-Item C:\ProgramData\Quest\KACE\kbots_cache\packages\kbots\%YourPackageID%\$ComputerModel\$BiosFileName -Destination C:\ProgramData\%Company-Name%\BIOS-Update\$ComputerModel
Copy-Item C:\ProgramData\Quest\KACE\kbots_cache\packages\kbots\%YourPackageID%\Flash64W.exe -Destination C:\ProgramData\%Company-Name%\BIOS-Update\$ComputerModel
#Set Command Arguments for Bios Update
$cmds = "/b=$BiosFileName /s /p=$BiosPassword"
write-host $cmds
#Update Bios
Push-location C:\ProgramData\%Company-Name%\BIOS-Update\$ComputerModel
$Process = start-process Flash64W.exe -ArgumentList $cmds -PassThru -wait 2>$Null
We run the dell native "Dell Command | Update" program as a post install task to update all the drivers and BIOS. Install the program as one step, run the update process as another, and if you like, uninstall afterwards. Updater just runs as a command line and pulls whatevers current from the web. If you have some compliance requirements for testing of these, you can point it at an on premise Dell update repository hosing your approved updates.
If your running into issues with to big a jumps with some of your hardware, Dell Command | Update may help you there, or you may need to flag these with a custom inventory rule and deal with them manually