Add comprehensive documentation and update deployment paths

Documentation:
- Add ShopDB-API.md with full API reference (all GET/POST endpoints)
- Add detailed docs for Update-ShopfloorPCs-Remote, Invoke-RemoteMaintenance, Update-PC-CompleteAsset
- Add DATA_COLLECTION_PARITY.md comparing local vs remote data collection
- Add HTML versions of all documentation with styled code blocks
- Document software deployment mechanism and how to add new apps
- Document deprecated scripts (Invoke-RemoteAssetCollection, Install-KioskApp)

Script Updates:
- Update deployment source paths to network share (tsgwp00525.wjs.geaerospace.net)
  - InstallDashboard: \\...\scripts\Dashboard\GEAerospaceDashboardSetup.exe
  - InstallLobbyDisplay: \\...\scripts\LobbyDisplay\GEAerospaceLobbyDisplaySetup.exe
  - UpdateEMxAuthToken: \\...\scripts\eMx\eMxInfo.txt
  - DeployUDCWebServerConfig: \\...\scripts\UDC\udc_webserver_settings.json
- Update machine network detection to include 100.0.0.* for CMM cases
- Rename PC Type #9 from "Part Marker" to "Inspection"

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
cproudlock
2026-02-06 11:45:00 -05:00
parent f40b79c087
commit 7d3519f613
15 changed files with 8774 additions and 40 deletions

View File

@@ -19,7 +19,7 @@
.PARAMETER PcType
Target PCs by type (e.g., Dashboard, Lobby Display, CMM, Shopfloor).
Valid values: Standard, Engineer, Shopfloor, CMM, Wax / Trace, Keyence,
Genspect, Heat Treat, Part Marker, Dashboard, Lobby Display, Uncategorized
Genspect, Heat Treat, Inspection, Dashboard, Lobby Display, Uncategorized
.PARAMETER BusinessUnit
Target PCs by business unit (e.g., Blisk, HPT, Spools).
@@ -128,7 +128,7 @@ param(
[Parameter(ParameterSetName='ByPcType')]
[ValidateSet('Standard', 'Engineer', 'Shopfloor', 'CMM', 'Wax / Trace', 'Keyence',
'Genspect', 'Heat Treat', 'Part Marker', 'Dashboard', 'Lobby Display', 'Uncategorized')]
'Genspect', 'Heat Treat', 'Inspection', 'Dashboard', 'Lobby Display', 'Uncategorized')]
[string]$PcType,
[Parameter(ParameterSetName='ByBusinessUnit')]
@@ -222,7 +222,7 @@ function Get-ShopfloorPCsFromApi {
$PcTypeLookup = @{
'Standard' = 1; 'Engineer' = 2; 'Shopfloor' = 3; 'Uncategorized' = 4;
'CMM' = 5; 'Wax / Trace' = 6; 'Keyence' = 7; 'Genspect' = 8;
'Heat Treat' = 9; 'Part Marker' = 10; 'Dashboard' = 11; 'Lobby Display' = 12
'Heat Treat' = 9; 'Inspection' = 10; 'Dashboard' = 11; 'Lobby Display' = 12
}
$BusinessUnitLookup = @{
@@ -778,7 +778,7 @@ $TaskScripts = @{
}
$destFile = "eMxInfo.txt"
$tempPath = "C:\Windows\Temp\eMxInfo-2026.txt"
$tempPath = "C:\Windows\Temp\eMxInfo.txt"
# Check both possible DNC installation paths
$destDirs = @(
@@ -1234,8 +1234,8 @@ $sessionOption = New-PSSessionOption -OpenTimeout 30000 -OperationTimeout 600000
# Special handling for UpdateEMxAuthToken - requires pushing file first
if ($Task -eq 'UpdateEMxAuthToken') {
$sourcePath = "\\tsgwp00525.rd.ds.ge.com\shared\cameron\eMxInfo-2026.txt"
$remoteTempPath = "C:\Windows\Temp\eMxInfo-2026.txt"
$sourcePath = "\\tsgwp00525.wjs.geaerospace.net\dt\shopfloor\scripts\eMx\eMxInfo.txt"
$remoteTempPath = "C:\Windows\Temp\eMxInfo.txt"
Write-Log "UpdateEMxAuthToken: Checking source file..." -Level "INFO"
@@ -1307,7 +1307,7 @@ if ($Task -eq 'UpdateEMxAuthToken') {
# Special handling for DeployUDCWebServerConfig - check for UDC installation, then push config file
if ($Task -eq 'DeployUDCWebServerConfig') {
$sourcePath = Join-Path $PSScriptRoot "udc_webserver_settings.json"
$sourcePath = "\\tsgwp00525.wjs.geaerospace.net\dt\shopfloor\scripts\UDC\udc_webserver_settings.json"
$remoteTempPath = "C:\Windows\Temp\udc_webserver_settings.json"
Write-Log "DeployUDCWebServerConfig: Checking source file..." -Level "INFO"
@@ -1388,12 +1388,14 @@ if ($Task -eq 'DeployUDCWebServerConfig') {
$KioskAppConfig = @{
'InstallDashboard' = @{
Action = 'Install'
InstallerPath = '\\tsgwp00525.wjs.geaerospace.net\dt\shopfloor\scripts\Dashboard\GEAerospaceDashboardSetup.exe'
InstallerName = 'GEAerospaceDashboardSetup.exe'
AppName = 'GE Aerospace Dashboard'
UninstallGuid = '{9D9EEE25-4D24-422D-98AF-2ADEDA4745ED}'
}
'InstallLobbyDisplay' = @{
Action = 'Install'
InstallerPath = '\\tsgwp00525.wjs.geaerospace.net\dt\shopfloor\scripts\LobbyDisplay\GEAerospaceLobbyDisplaySetup.exe'
InstallerName = 'GEAerospaceLobbyDisplaySetup.exe'
AppName = 'GE Aerospace Lobby Display'
UninstallGuid = '{42FFB952-0B72-493F-8869-D957344CA305}'
@@ -1414,14 +1416,13 @@ $KioskAppConfig = @{
if ($KioskAppConfig.ContainsKey($Task)) {
$appConfig = $KioskAppConfig[$Task]
$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
if ($appConfig.Action -eq 'Install') {
# Find installer
$installerPath = Join-Path $scriptDir $appConfig.InstallerName
# Find installer from network share
$installerPath = $appConfig.InstallerPath
if (-not (Test-Path $installerPath)) {
Write-Log "Installer not found: $installerPath" -Level "ERROR"
Write-Log "Place $($appConfig.InstallerName) in the script directory" -Level "ERROR"
Write-Log "Ensure the installer exists on the network share" -Level "ERROR"
exit 1
}
Write-Log "$($appConfig.Action): $($appConfig.AppName)" -Level "INFO"