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:
@@ -13,11 +13,17 @@
|
||||
# Best-effort: never blocks or fails Windows setup. Every error is swallowed,
|
||||
# the script always exits 0, and each attempt is logged to
|
||||
# C:\Logs\send-imaging-stage.log.
|
||||
#
|
||||
# Three steps: 1 WinPE, 2 Windows setup installing apps, 3 ready at OOBE
|
||||
# (succeeded). Everything after OOBE needs the employee to log in, which
|
||||
# happens off the PXE network, so PXE cannot see it. Steps above
|
||||
# StageTotal (the old first-logon steps 4 and 5 still in the unattends) are
|
||||
# logged and not posted, so they cannot reopen a finished build.
|
||||
|
||||
param(
|
||||
[Parameter(Mandatory = $true)][string]$Stage,
|
||||
[int]$StageIndex = 0,
|
||||
[int]$StageTotal = 5,
|
||||
[int]$StageTotal = 3,
|
||||
[string]$PCType = '',
|
||||
[ValidateSet('in_progress', 'succeeded', 'failed')][string]$Status = 'in_progress',
|
||||
[string]$PxeServer = '172.16.9.1',
|
||||
@@ -43,6 +49,11 @@ if ($Persist) {
|
||||
} catch { Log "persist failed: $($_.Exception.Message)" }
|
||||
}
|
||||
|
||||
if ($StageIndex -gt $StageTotal) {
|
||||
Log "SKIP stage $StageIndex of $StageTotal (after OOBE; PXE does not track it): $Stage"
|
||||
exit 0
|
||||
}
|
||||
|
||||
try {
|
||||
$serial = $null
|
||||
try { $serial = (Get-CimInstance -ClassName Win32_BIOS -ErrorAction Stop).SerialNumber } catch {
|
||||
|
||||
Reference in New Issue
Block a user