Dell bios update question
We have a number of systems that have never had a bios update since they came from the factory. Recently we've started looking into fixing that. The problem is that the Dell Updates catalog will only find the latest version for example A07 and the machine is currently at A00. The reason that is a problem is because the bios will not allow a jump that large, you must increment the updates.
Is there a way to pull older bios's through Dell Updates to work around this?
Answers (4)
you need to drill down in the support pages to find the older versions
Comments:
-
I may have not made the question very clear. I was referring to the Dell Updates section in the K1000. That way you can automate driver and bios updates. But in this case there is too large of a jump between the current bios version and the version they have listed in the software catalog. I was asking if anyone knew of a way around this problem or is there a way to manually stick older bios/drivers in the feed? - AFCUjstrick 11 years ago
-
you will need to download them manually and create scripts to install the older versions. you should not need each version, a lot of time to go from say a00 to a14 you may only need versions a04 and a09. - SMal.tmcc 11 years ago
-
yeah I believe in this particular case for the optiplex 380 we have to go from A00 to A04 to get to A07.
Perhaps I should submit this on uservoice.
Thanks. - AFCUjstrick 11 years ago -
it may be faster to test yourself on a machine, start with the highest and work backward till you get one that takes properly, then start process over again till you can install current version. you can always put a00 back on till you get sequence figured out. We had same problem with dell 755's had to install a mid step version to get to the newest. You can use a winpe env to test with also - SMal.tmcc 11 years ago
We push all our Dell BIOS updates via scripts due to the same issue you're having and also as we have admin passwords enabled and can speicfy those via the script.
Script ex:
"\\sharepath\O390-A10.exe" /s /r /p=ourkickfancypassword
Comments:
-
That's pretty awesome info you have there. - AFCUjstrick 11 years ago
I'm not using K1000 but I am able to do this using a GPO startup script (validated against a registry key I add) that copies down and runs a powershell PS1 file.
try{
10..15 | % { Write-Host -foreground $_ 'BIOS UPGRADE IN PROGRESS...DO NOT RESTART' }
$MyModel = (GWMI Win32_ComputerSystem).Model.Trim()
$MyBios = (GWMI Win32_Bios).SMBIOSBIOSVersion.Trim()
$strPath = "\\REPLACEDSERVERNAME\sdp$\Dell\BIOS\"
$strFile = ""
IF ($MyModel -eq "OptiPlex 320") {
$strPath
$MyModel
$MyBios
IF ($MyBios -ne "1.1.12") { $strFile = "\O3201112.exe" }
$strFile
IF ($strFile -Match ".exe") {
IF ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") {
Set-Location "C:\Program Files (x86)\Dell\CCTK\X86_64"
} ELSE {
Set-Location "C:\Program Files\Dell\CCTK\X86"
}
.\cctk.exe --setuppwd= --valsetuppwd=REPLACEDBIOSPASSWORD | Out-Host
& "$strPath$MyModel$strFile" /nopause | Out-Host
}
} ELSEIF ($MyModel -eq "OptiPlex 330") {
$strPath
$MyModel
$MyBios
IF ($MyBios -ne "A11") { $strFile = "\O330-A11.exe" }
$strFile
IF ($strFile -Match ".exe") {
IF ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") {
Set-Location "C:\Program Files (x86)\Dell\CCTK\X86_64"
} ELSE {
Set-Location "C:\Program Files\Dell\CCTK\X86"
}
.\cctk.exe --setuppwd= --valsetuppwd=REPLACEDBIOSPASSWORD | Out-Host
& "$strPath$MyModel$strFile" /nopause | Out-Host
}
} ELSEIF ($MyModel -eq "OptiPlex 380") {
$strPath
$MyModel
$MyBios
IF ($MyBios -ne "A07") { $strFile = "\O380-A07.exe" }
$strFile
IF ($strFile -Match ".exe") { & "$strPath$MyModel$strFile" /s /p=REPLACEDBIOSPASSWORD /r /l=BiosUpdate.log | Out-Host }
} ELSEIF ($MyModel -eq "OptiPlex 390") {
$strPath
$MyModel
$MyBios
IF ($MyBios -ne "A10") {
IF ($MyBios -eq "A00" -OR $MyBios -eq "A01") {
Write-Host "A01 requires that you first upgrade to A02"
$strFile = "\O390-A02.exe"
} ELSE {
$strFile = "\O390-A10.exe"
}
}
$strFile
IF ($strFile -Match ".exe") { & "$strPath$MyModel$strFile" /s /p=REPLACEDBIOSPASSWORD /r /l=BiosUpdate.log | Out-Host }
} ELSEIF ($MyModel -eq "OptiPlex 740") {
$strPath
$MyModel
$MyBios
IF ($MyBios -ne "2.2.7") { $strFile = "\O740-227.exe" }
$strFile
IF ($strFile -Match ".exe") {
IF ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") {
Set-Location "C:\Program Files (x86)\Dell\CCTK\X86_64"
} ELSE {
Set-Location "C:\Program Files\Dell\CCTK\X86"
}
.\cctk.exe --setuppwd= --valsetuppwd=REPLACEDBIOSPASSWORD | Out-Host
& "$strPath$MyModel$strFile" /nopause | Out-Host
}
} ELSEIF ($MyModel -eq "OptiPlex 745") {
$strPath
$MyModel
$MyBios
IF ($MyBios -ne "2.6.6") { $strFile = "\HEIDEN_2.6.6.exe" }
$strFile
IF ($strFile -Match ".exe") {
IF ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") {
Set-Location "C:\Program Files (x86)\Dell\CCTK\X86_64"
} ELSE {
Set-Location "C:\Program Files\Dell\CCTK\X86"
}
.\cctk.exe --setuppwd= --valsetuppwd=REPLACEDBIOSPASSWORD | Out-Host
& "$strPath$MyModel$strFile" /nopause | Out-Host
}
} ELSEIF ($MyModel -eq "OptiPlex 755") {
$strPath
$MyModel
$MyBios
IF ($MyBios -ne "A22") { $strFile = "\O755-A22.exe" }
$strFile
IF ($strFile -Match ".exe") {
IF ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") {
Set-Location "C:\Program Files (x86)\Dell\CCTK\X86_64"
} ELSE {
Set-Location "C:\Program Files\Dell\CCTK\X86"
}
.\cctk.exe --setuppwd= --valsetuppwd=REPLACEDBIOSPASSWORD | Out-Host
& "$strPath$MyModel$strFile" /nopause | Out-Host
}
} ELSEIF ($MyModel -eq "OptiPlex 760") {
$strPath
$MyModel
$MyBios
IF ($MyBios -ne "A15") { $strFile = "\O760-A15.exe" }
$strFile
IF ($strFile -Match ".exe") { & "$strPath$MyModel$strFile" /s /p=REPLACEDBIOSPASSWORD /r /l=BiosUpdate.log | Out-Host }
} ELSEIF ($MyModel -eq "OptiPlex 3010") {
$strPath
$MyModel
$MyBios
IF ($MyBios -ne "A09") { $strFile = "\O3010A09.exe" }
$strFile
##UNTESTED##
IF ($strFile -Match ".exe") { & "$strPath$MyModel$strFile" /s /p=REPLACEDBIOSPASSWORD /r /l=BiosUpdate.log | Out-Host }
} ELSEIF ($MyModel -eq "OptiPlex GX520") {
$strPath
$MyModel
$MyBios
IF ($MyBios -ne "A11") { $strFile = "\A11GX620.exe" }
$strFile
IF ($strFile -Match ".exe") {
IF ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") {
Set-Location "C:\Program Files (x86)\Dell\CCTK\X86_64"
} ELSE {
Set-Location "C:\Program Files\Dell\CCTK\X86"
}
.\cctk.exe --setuppwd= --valsetuppwd=REPLACEDBIOSPASSWORD | Out-Host
& "$strPath$MyModel$strFile" /nopause | Out-Host
}
} ELSEIF ($MyModel -eq "OptiPlex GX620") {
$strPath
$MyModel
$MyBios
IF ($MyBios -ne "A11") { $strFile = "\A11GX620.exe" }
$strFile
IF ($strFile -Match ".exe") {
IF ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") {
Set-Location "C:\Program Files (x86)\Dell\CCTK\X86_64"
} ELSE {
Set-Location "C:\Program Files\Dell\CCTK\X86"
}
.\cctk.exe --setuppwd= --valsetuppwd=REPLACEDBIOSPASSWORD | Out-Host
& "$strPath$MyModel$strFile" /nopause | Out-Host
}
}
IF ($strFile -NotMatch ".exe") { Write-Host "Nothing needed" }
}
catch{
$error[0]
Start-Sleep -s 60
}
Remove-Item C:\DellBiosUpdater.ps1
Comments:
-
That's alot of stuff. - AFCUjstrick 11 years ago
-
Yup...and all 900-ish Dell Desktop systems under my jurisdiction in 3 sites have the latest Bios. There was some trouble with the signed BIOS settings in a few but I hammered those out manually.
I prefer to do laptops manually and I have a similar process for the HP 6305 models we've started getting. - Chris.Thomson@Sitel.Com 11 years ago
The only really sure fire way to determine that the system is not going to accept that big of a jump is to do one manually. - Beetschen 10 years ago