Imaging floor: Standard/Engineer builds report progress past WinPE
The floor's 8 stages are the shopfloor pipeline, and only shopfloor-setup reports after WinPE, so every gea-standard / gea-engineer build sat at 1/8 forever with no type. - winpe-status-push.ps1 reads the image from the Z: share mapping when no PCTYPE is set and reports those builds as 5 steps. - Send-ImagingStage.ps1 (deployed to _shared\Applications\extra\pxe-status) posts steps 2-5 from the unattend: start and end of specialize, first logon, and setup complete (succeeded). It is copied to C:\ProgramData\PxeStatus first, because the bulk-enrollment task deletes C:\Deploy before first logon. Best-effort: always exits 0. - Floor rows use Standard/Engineer labels and show the image as the kind. Tested as SYSTEM in the win11 VM (PowerShell 5.1): the exact unattend command line, stages 3-5 against a test server, a dead port (exit 0), and the image regex.
This commit is contained in:
@@ -17,6 +17,17 @@
|
||||
'Lockdown applied. Bay rebooted into ShopFloor session. Ready for production.')
|
||||
} %}
|
||||
|
||||
{# gea-standard / gea-engineer builds: WinPE push, then
|
||||
Send-ImagingStage.ps1 from the image's unattend; stage_total 5. #}
|
||||
{% set desk_stage_labels = {
|
||||
1: ('Applying Windows image', 'WinPE loaded - PESetup is applying the Windows image to disk.'),
|
||||
2: ('Windows setup: installing apps','First boot (specialize): certificates, WiFi, fonts, Adobe, Java and the enrollment task.'),
|
||||
3: ('Waiting for first logon', 'Apps installed. Windows setup finishes when someone logs on to the PC.'),
|
||||
4: ('First logon', 'First logon commands running (the engineering layer on Engineer builds).'),
|
||||
5: ('Setup complete', 'Imaging is done; bulk enrollment continues on the PC.')
|
||||
} %}
|
||||
{% set desk_kind = {'gea-standard': 'Standard', 'gea-engineer': 'Engineer'} %}
|
||||
|
||||
{# Blancco Drive Eraser sessions (source/pctype "blancco"), posted by
|
||||
blancco-init.sh and blancco-progress.py; stage_total 7. #}
|
||||
{% set blancco_stage_labels = {
|
||||
@@ -69,7 +80,7 @@
|
||||
{% endif %}
|
||||
{% if stage_idx == 4 and s.status != 'failed' %}{% set warn = True %}{% endif %}
|
||||
{% else %}
|
||||
{% set friendly = stage_labels.get(stage_idx, ('Stage ' ~ stage_idx, '')) %}
|
||||
{% set friendly = (desk_stage_labels if s.pctype in desk_kind else stage_labels).get(stage_idx, ('Stage ' ~ stage_idx, '')) %}
|
||||
{% if stage_idx == 1 and s.current_stage and 'bios' in s.current_stage|lower %}
|
||||
{% set friendly = ('Updating BIOS: do not power off',
|
||||
'WinPE detected a firmware update for this model. Do NOT power off until the next reboot. Imaging continues afterward.') %}
|
||||
@@ -97,7 +108,7 @@
|
||||
{% if s.hostname_target and s.serial %}{% set _ = ident.append(s.hostname_target) %}{% endif %}
|
||||
{% if s.ip %}{% set _ = ident.append(s.ip) %}{% endif %}
|
||||
{% set title = s.serial or s.hostname_target or s.mac or s.ip or '(unknown bay)' %}
|
||||
{% set kind = 'Blancco wipe' if is_blancco else (s.pctype or '') %}
|
||||
{% set kind = 'Blancco wipe' if is_blancco else desk_kind.get(s.pctype, s.pctype or '') %}
|
||||
<div class="ui-row floor-row imaging-card" data-state="{{ state }}"
|
||||
data-serial="{{ s.serial or '' }}" data-key="{{ card_key }}" data-mac="{{ s.mac or '' }}"
|
||||
data-ip="{{ s.ip or '' }}" data-source="{{ s.source or 'client' }}"
|
||||
|
||||
Reference in New Issue
Block a user