Add conditional BIOS-update sub-stage on idx=1

winpe-status-push.ps1 now accepts -CurrentStage / -StageIndex
params so callers can override the default "WinPE: PESetup / WIM
apply" string. Backwards compatible.

startnet.cmd: after the existing initial WinPE status push,
inspect $BIOS_STATUS for the "->" marker that check-bios.cmd
writes when an update was actually applied or staged. If present,
fire a second idx=1 push with stage="WinPE: BIOS firmware update -
<status>". No-op for clean "up to date" / "no update in catalog"
runs.

imaging.html: at stage_idx=1 with "bios" in current_stage, swap
friendly label to "Updating BIOS firmware" with a do-NOT-power-off
hint. Bays without firmware updates show the default "Booting from
PXE" label as before.

boot.wim startnet.cmd updated via wimupdate so live PXE clients
pick it up at next boot.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
cproudlock
2026-05-15 10:26:31 -04:00
parent 76a3ba513c
commit d8c64bef2b
3 changed files with 25 additions and 3 deletions

View File

@@ -254,6 +254,20 @@ if exist "Y:\scripts\winpe-status-push.ps1" (
powershell -NoProfile -ExecutionPolicy Bypass -File "Y:\scripts\winpe-status-push.ps1"
)
REM --- BIOS update sub-stage push ---
REM If check-bios.cmd actually applied or staged a firmware update, push
REM a second idx=1 status with a BIOS-specific stage string so the
REM dashboard friendly-label swaps to "Updating BIOS firmware". The "->"
REM marker is what check-bios writes for both "updated" and "STAGED"
REM cases. No-op states ("up to date", "no update in catalog", "Skipped",
REM "missing") never contain the arrow and stay on the default label.
echo %BIOS_STATUS% | findstr /C:"->" >NUL
if not errorlevel 1 (
if exist "Y:\scripts\winpe-status-push.ps1" (
powershell -NoProfile -ExecutionPolicy Bypass -File "Y:\scripts\winpe-status-push.ps1" -CurrentStage "WinPE: BIOS firmware update - %BIOS_STATUS%"
)
)
echo Waiting for PESetup.exe to start...
:wait_start
ping -n 3 127.0.0.1 >NUL