Shared machine-number helper, site-config for OpenText + PreInstall, placeholder type dirs

Three optimization batches from the pipeline audit:

1. Shared Update-MachineNumber.ps1 helper (lib/)
   Extracts duplicated machine-number update logic from Configure-PC.ps1,
   Check-MachineNumber.ps1, and Set-MachineNumber.ps1 into a shared
   dot-sourceable helper at Shopfloor/lib/Update-MachineNumber.ps1.

   Exports:
     Get-CurrentMachineNumber → @{ Udc = $string; Ednc = $string }
     Update-MachineNumber -NewNumber <n> [-Site <s>] → @{ UdcUpdated; EdncUpdated; Errors }

   All three consumers now dot-source the helper instead of duplicating
   ~50 lines each. Set-MachineNumber.ps1 also migrated from inline
   Get-SiteConfig to dot-sourcing Get-PCProfile.ps1 for consistency.

2. Site-config integration for remaining scripts
   Setup-OpenText.ps1: exclude lists (profiles + shortcuts) now read from
     site-config.json opentext section, falling back to West Jefferson
     defaults. Inline Get-SiteConfig since the script runs from
     C:\PreInstall\installers\opentext\ (can't dot-source Get-PCProfile).

   00-PreInstall-MachineApps.ps1: after parsing preinstall.json, scans
     InstallArgs for "West Jefferson" and replaces with site-config
     siteName if different. Inline Get-SiteConfig for same reason.

3. Placeholder type-specific directories
   Created skeleton 01-Setup-*.ps1 scripts for all PC types so the
   directory structure is in place and Run-ShopfloorSetup's type-specific
   loop has something to iterate over:
     Genspect/01-Setup-Genspect.ps1
     Keyence/01-Setup-Keyence.ps1
     WaxAndTrace/01-Setup-WaxAndTrace.ps1
     Lab/01-Setup-Lab.ps1
   Each logs a "no type-specific apps configured yet" banner and exits.
   Fill in app installs when details are finalized; for share-based
   installs, copy the CMM/01-Setup-CMM.ps1 pattern.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
cproudlock
2026-04-10 11:44:10 -04:00
parent b236b18fbc
commit 7c8eb6899d
10 changed files with 262 additions and 274 deletions

View File

@@ -1,14 +1,12 @@
# 01-Setup-Genspect.ps1 Genspect-specific setup (runs after Shopfloor baseline)
Write-Host "=== Genspect Setup ==="
# --- Add Genspect credentials ---
# cmdkey /generic:genspect-server /user:domain\genspectuser /pass:password
# --- Install Genspect applications ---
# Start-Process msiexec.exe -ArgumentList '/i "C:\Enrollment\shopfloor-setup\Genspect\GenspectApp.msi" /qn' -Wait
# --- Genspect configuration ---
# Set-ItemProperty -Path "HKLM:\SOFTWARE\CompanyName" -Name "PCType" -Value "Genspect"
Write-Host "=== Genspect Setup Complete ==="
# 01-Setup-Genspect.ps1 - Genspect-specific setup (runs after Shopfloor baseline)
#
# PLACEHOLDER: add type-specific app installs when details are finalized.
# This script will be called by Run-ShopfloorSetup.ps1 as part of the
# type-specific phase, after all baseline scripts have completed.
#
# For share-based installs, copy the pattern from CMM/01-Setup-CMM.ps1
# (credential lookup + share mount + install from share).
Write-Host "=== Genspect Setup ==="
Write-Host " (no type-specific apps configured yet)"
Write-Host "=== Genspect Setup Complete ==="