I’m performing BIOS updates through BigFix and allowing the end user to postpone the restart for 2 days after which a forced restart will occur. Due to our site requirements, we have to allow the user to defer the action prior to the 2 day deadline being reached. This works fine if the computer is left on for the life of the deferment period. However, if the user shuts the computer down through the Start Menu rather than through the action in the BigFix SSA client, the job shows as failed in the console and looking in the Action section of the BigFix SSA no longer shows the pending action. This is with BigFix 11.0.6.137 and BigFix SSA 3.4.2. I’m wondering if anyone else has seen this or knows a way to have the action remain persistent through shutdowns that don’t happen via the SSA action.
Can you share the ActionScript and the Success Criteria of the Action?
Of course, remove sensitive information
Here’s the action script edited, though I don’t think it’s too relevant to the issue:
// Download BIOS file. prefetch BIOS_Update.exe sha1:df1b8507fba6a7fab1211a568e92e0d143e8ef4c size:22931248 ``https://server.org/secure/bfswdl/DellBIOS/Precision3541/Latitude_5X01_Precision_3541_1.44.0.exe`` sha256:3c3b92c947178e8f4f096c494a042134cb97a299fe4f2ce2ed0d6dc7c22f4160 // Define log path for troubleshooting parameter "LogFile" = "{pathname of windows folder}\Temp\install_Dell_BIOS_Update.log" // --- ADD BITLOCKER SUSPENSION HERE --- action uses wow64 redirection false waithidden cmd.exe /C "manage-bde.exe -protectors -disable C: -RebootCount 1" // DELETE: current log file if it exists delete "{parameter "LogFile"}" // INSTALL: BIOS Update logic using the secret parameter from your Description box if {exists (parameter "secret" of action) whose (length of (it as trimmed string) > 0)} // If secret is provided, use the password switch waithidden __Download\BIOS_Update.exe /s /p={parameter "secret" of action} /l="{parameter "LogFile"}" else // If secret is blank, run without the password switch waithidden __Download\BIOS_Update.exe /s /l="{parameter "LogFile"}" endif // Check for success exit codes: 0 (Success), 2 (Reboot Required), 6 (Rebooting) continue if {exists (exit code of action) whose (it = 0 or it = 2 or it = 6)} // Flag the system as needing a restart action requires restart "DellBiosUpdate"
The success criteria:
string value of select "SMBIOSBIOSVersion from Win32_BIOS" of wmi is not "1.44.0"
The BIOS update log and the BigFix log showed no errors and showed that a reboot was pending. If the system is rebooted after being shutdown, the update does not happen. This only happens when it’s shutdown. If the user reboots through the Start Menu rather than through BigFix SSA, the BIOS update occurs (provided that no shutdown has occurred.
So if I want to reproduce this behavior -
- Dell machine
- OS Disk was enabled with Bitlocker
- Bitlocker protector is being suspended and will keep that status for one rebbot
- Apply BIOS Update with or without password
- Continue to next command if status is 0, 2, 6
- Flag machine as required restart
When shutting down the computer the BIOS update fails, the BIOS version stay the same - How the machine initiated the shutdown? From the Start menu, or did the user forcefully shutdown the machine ?
When restarting the computer after the BIOS update, the update finished successfuly.
Am I correct?
Yes, you’ve stated it correctly.
@mlarsen about that , can you please add how the shutdown of the machine occurred
The shutdown is done through the Start Menu. I did it as a test to see if the job would resume upon the next restart. Hopefully, no one is doing a force shutdown through the power button. I can’t account for everything though, and hopefully the shutdown through the Start Menu will not be that prevalent.