Standard/Engineer builds are done at OOBE on the imaging floor

Everything after OOBE needs the employee to log in, which happens off the
PXE network, so the floor waited forever at step 3 of 5. Now 3 steps:
WinPE, Windows setup installing apps, ready at OOBE (succeeded).

- both unattends: specialize Order 49 posts step 3 as succeeded
  (Path 182 chars; lint clean). Only that line changed.
- Send-ImagingStage.ps1: StageTotal 3; steps above the total (the old
  first-logon steps 4 and 5 still in the unattends) are logged and not
  posted, so they cannot reopen a finished build
- winpe-status-push.ps1: total 3 for gea-standard / gea-engineer
- floor tile step 3: "Ready at OOBE"

Tested in the win11 VM against the test server: steps 2 and 3 post,
step 3 shows succeeded, step 4 is skipped. Not deployed: the unattends
go out only through scripts/deploy-unattend.sh.
This commit is contained in:
cproudlock
2026-10-16 10:09:40 -04:00
parent bca04f4ca2
commit 9d75d03b2d
5 changed files with 24 additions and 11 deletions

View File

@@ -61,17 +61,17 @@ if (-not $serial) {
# gea-standard / gea-engineer set no PCTYPE: read the image from the share
# startnet mapped as Z: (\\server\winpeapps\<image>). Those builds report
# 5 steps (WinPE, then Send-ImagingStage.ps1 from their unattend); the
# shopfloor build reports 8.
# 3 steps (WinPE, then Send-ImagingStage.ps1 from their unattend, done
# at OOBE); the shopfloor build reports 8.
$total = 8
if (-not $PCType) {
try {
$z = (& net use Z: 2>$null | Out-String)
if ($z -match 'winpeapps\\(gea-standard|gea-engineer)\b') { $PCType = $Matches[1]; $total = 5 }
if ($z -match 'winpeapps\\(gea-standard|gea-engineer)\b') { $PCType = $Matches[1]; $total = 3 }
} catch { Log "net use Z: exception: $_" }
Log "image from Z: = '$PCType'"
}
if ($PCType -in @('gea-standard', 'gea-engineer')) { $total = 5 }
if ($PCType -in @('gea-standard', 'gea-engineer')) { $total = 3 }
# Say so from the first push: the BIOS update was staged before the menu, but
# startnet's own "BIOS firmware update" push only comes at the end of WinPE.