06-07-2018 11:16 PM
I'm trying to automate the process of flashing the BIOS version for all models during a SCCM Task Sequence.
with all of them - all is looking great!
we run "wflash2x64.exe [filename].rom /ign /sccm /quiet", then initiate a restart task, the BIOS gets updated and the Task Sequence continues.
the only issue we have is with M93 and M900 that behaves differently. we downloaded the latest BIOS versions and when we run the restart command it just continues the task sequence without performing the upgrade.
if we remove the /sccm from the command, the machine restarts automatically and the BIOS gets updated but then we kill the TS progress and have to start over.
I've seen some blogs here and there that talks about using wpeutil shutdown during the task sequence, but corrent me if I'm mistaken, this will also break the whole TS progress...
my questions are:
1. why these models specifically behaves differently than any other Lenovo model?
what's the purpose if the /sccm argument if the admin needs to do other manual steps that aren't listed anywhere officially?
P.S - it will also behave that way if we will try to run the flash command from a running operating system and not just from PE
2. maybe I just missed something and there's a more fluent solution for BIOS flashing via a Task Sequence?
06-08-2018 06:09 AM
Is this tread of any help? M800-M900-BIOS-Update-in-SCCM-2012
06-08-2018 07:00 AM
unfortunately - not really,
the main goal of doing it via Task Sequence is to get to the minimum version required to be able to change 'Secure Boot' to Enabled during the task sequence as well to prepare devices for Windows 10 security baseline.
so doing the Flash BIOS action as the last action in the TS means Secure Boot wouldn't work for sure, not mentioning the fact if it the boot mode is in Legacy and not UEFI.
again, for the rest of the models it works without any issue. running a wflashx64.exe command with /sccm argument and then performing a restart via the TS will initiate a BIOS update and be able to continue to the next steps of in the TS, such changing the boot mode to UEFI and enable Secure Boot.
M900 series and M93 series are the only models where it doesn't behave the same for some reason
06-08-2018 10:11 AM
Sorry I can't help you more, I've never used SCCM myself. Have you searched the 'Enterprise Client Mgmt' forum? That's where most SCCM threads are, where I found the above thread.
03-04-2019 07:33 AM - edited 03-04-2019 07:45 AM
Not sure if you got this going or not...
ThinkCentre requires a S5 Shutdown to update the BIOS. To update during SCCM you have to use some trickery in order to not break the Task Sequence process.
I have this working on the M600, M900, & M910 during WinPE prior to the 'Setup Operating System' section 'Setup Windows and Configuration Manager'. The M93p BIOS is different from the others. It does not allow it to be run in WinPE. It will run in Win10 x64.
You will need two files to make the S5 Shutdown work properly. (run.vbs & shutdown.ps1).
You need a condition that If the BIOS has been updated then do the following.
Task - 'Run Command Line' - cmd /c cscript.exe .\run.vbs
Task - 'Restart Computer' - The boot image assigned to this Task Sequence. Then set the message display time-out to 1000 or something. I use 1000 although it will generally reboot a few seconds after the Restart Computer task runs. I put a message that tells technicians to not press the restart button so hopefully they read that or the BIOS will not update.
Run.vbs calls shutdown.ps1 then run.vbs closes moving the TS to the Restart Computer action. Shutdown.ps1 is continuing to run looping waiting for Restart Computer media to be downloaded to the system. Once the condition is met the system runs the S5 Shutdown. Since the BIOS was updated the computer does the S5 Shutdown and then boots back up. If the BIOS was not updated the computer will stay turned off. So you need to make sure that the BIOS was really updated.
Another issue I ran into after setting the Restart Computer to 1000 seconds the TS wanted to have every reboot wait 1000 seconds. To fix this issue I created a TS Variable action.
Set Task Sequence Variable - SMSTSRebootDelay - Value 10
I had to place this variable in my TS right before 'Setup Windows and Configuration Manager' as my BIOS updates prior to this reboot.
Finally I ended up editing the Flash64.cmd for all my BIOS updates to use this command line -
'wflash2x64.exe image.rom /bb /rsmb /quiet /sccm' or '/bb /rsmb /ign /quiet /sccm'. I have not tested fully to see if we need /ign. From my testing you for sure have to remove %* from the command line or the BIOS update just hangs in SCCM and ultimately fails to update. I decided to use the default Lenovo command file name since some of these systems also have Embedded Controller updates.
I added a zip file with the two scripts that I use.