CMM test iteration: desktop shortcuts, rename to 09-Setup-*, defer NIC re-enable

Rolls up everything from the CMM imaging test iteration tonight. No
single concern - several small, related polish items on the option-3
patched-MSI pipeline and the shopfloor-setup / sync_intune handoff.

- Rename all type-specific "01-Setup-<Type>.ps1" scripts to
  "09-Setup-<Type>.ps1" across CMM, Display, Genspect, Keyence, Lab,
  and WaxAndTrace. The "01-" prefix implied the script runs first in
  the overall sequence when it actually runs between baseline (00, 04)
  and finalization (06, 07). Logs now read "Running CMM setup:
  09-Setup-CMM.ps1" which matches the real position. Standard/
  01-eDNC.ps1 + 02-MachineNumberACLs.ps1 left alone - those digits
  represent real within-type ordering.
- playbook/shopfloor-setup/site-config.json CMM profile updates:
  - startupItems = [] (empty). Previously had WJ Shopfloor auto-launch
    which the user does not want on CMM workstations. Now relies on
    the Get-ProfileValue empty-array fix to not fall through to site
    defaults.
  - desktopApps + taskbarPins gain entries for PC-DMIS 2016, PC-DMIS
    2019 R2, CLM Admin, and goCMM so 06-OrganizeDesktop Phase 2
    materializes them into C:\\Users\\Public\\Desktop\\Shopfloor Tools\\
    and 07-TaskbarLayout pins them. goCMM is under C:\\Program Files
    (x86)\\General Electric\\goCMM\\ (GE product, not Hexagon).
- playbook/shopfloor-setup/Run-ShopfloorSetup.ps1: remove the blocking
  "UNPLUG ethernet cable, press any key" prompt + the interactive
  wired-NIC re-enable. The whole prompt block was a hard blocker on
  the imaging chain that required a human to walk to each PC.
- playbook/shopfloor-setup/Shopfloor/lib/Monitor-IntuneProgress.ps1:
  re-enable wired NICs unconditionally at the top of the transcript.
  This is the new home for the re-enable that used to live behind the
  prompt in Run-ShopfloorSetup. By the time sync_intune fires (after
  PPKG reboot + auto-login + Stage-Dispatcher), the tech has had
  minutes of wall-clock time to physically rewire from PXE to
  production without us blocking on a keypress. Tower case is a
  no-op because migrate-to-wifi.ps1 already left wired enabled.
- Internal comment updates in 09-Setup-CMM.ps1, cmm-manifest.json,
  Install-FromManifest.ps1, and startnet.cmd (+ startnet-template)
  to reflect the new filename.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
cproudlock
2026-04-11 21:03:09 -04:00
parent b88e4d3272
commit f3211dfd29
13 changed files with 60 additions and 36 deletions

View File

@@ -0,0 +1,45 @@
# 09-Setup-Display.ps1 -- Display-specific setup (runs after Shopfloor baseline)
# Reads display-type.txt to install either LobbyDisplay or Dashboard kiosk app.
$enrollDir = "C:\Enrollment"
$typeFile = Join-Path $enrollDir "display-type.txt"
$setupDir = Split-Path -Parent $MyInvocation.MyCommand.Path
if (-not (Test-Path $typeFile)) {
Write-Warning "No display-type.txt found - skipping display setup."
return
}
$displayType = (Get-Content $typeFile -First 1).Trim()
Write-Host "=== Display Setup: $displayType ==="
switch ($displayType) {
"Lobby" {
$installer = Join-Path $setupDir "GEAerospaceLobbyDisplaySetup.exe"
$appName = "Lobby Display"
}
"Dashboard" {
$installer = Join-Path $setupDir "GEAerospaceDashboardSetup.exe"
$appName = "Dashboard"
}
default {
Write-Warning "Unknown display type: $displayType"
return
}
}
if (-not (Test-Path $installer)) {
Write-Warning "$appName installer not found at $installer - skipping."
return
}
Write-Host "Installing $appName..."
$proc = Start-Process -FilePath $installer -ArgumentList '/VERYSILENT', '/SUPPRESSMSGBOXES', '/NORESTART', "/LOG=C:\Enrollment\$appName-install.log" -Wait -PassThru
if ($proc.ExitCode -eq 0) {
Write-Host "$appName installed successfully."
} else {
Write-Warning "$appName exited with code $($proc.ExitCode). Check C:\Enrollment\$appName-install.log"
}
Write-Host "=== Display Setup Complete ==="