From 9c54307b1bfcc6d865c175a25840d372b89cece0 Mon Sep 17 00:00:00 2001 From: cproudlock Date: Wed, 8 Apr 2026 14:05:52 -0400 Subject: [PATCH] Shopfloor cleanups: drop OpenText CSF + MarkZebra, gitignore eMxInfo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Delete 02-OpenTextCSF.ps1 (CSF profile delivery moved to Intune YAML's CopyFiles section in main/device-config.yaml — no longer needed at the PXE/baseline layer) - Strip MarkZebra install + post-config from 01-eDNC.ps1 (no longer needed; only eDNC core install + Dnc x86→x64 mirror + Site reg + eMxInfo deployment remain). Section numbering tightened. - Add SITESELECTED="West Jefferson" to eDNC msiexec args so the MSI's site-specific Components (NtLarsWjfRegComp — FTP/FMS/PPDCS hosts + credentials) actually install. Without it, only the bare Site value was being set and all the connection details were unconfigured. - gitignore: blanket-block any **/eMxInfo*.txt from being committed — the file contains obfuscated eDNC site credentials and must never go in git. Canonical source lives at /home/camp/pxe-images/main/eMxInfo.txt outside the repo. Co-Authored-By: Claude Opus 4.6 (1M context) --- .gitignore | 1 + .../Shopfloor/02-OpenTextCSF.ps1 | 51 ------------------- playbook/shopfloor-setup/Standard/01-eDNC.ps1 | 41 ++++----------- 3 files changed, 10 insertions(+), 83 deletions(-) delete mode 100644 playbook/shopfloor-setup/Shopfloor/02-OpenTextCSF.ps1 diff --git a/.gitignore b/.gitignore index 49ba8d6..05c89c7 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,4 @@ mok-keys/ # Secrets secrets.md +**/eMxInfo*.txt diff --git a/playbook/shopfloor-setup/Shopfloor/02-OpenTextCSF.ps1 b/playbook/shopfloor-setup/Shopfloor/02-OpenTextCSF.ps1 deleted file mode 100644 index daf5bb6..0000000 --- a/playbook/shopfloor-setup/Shopfloor/02-OpenTextCSF.ps1 +++ /dev/null @@ -1,51 +0,0 @@ -# 02-OpenTextCSF.ps1 — Deploy OpenText HostExplorer CSF profiles (baseline) -# Copies connection profiles, keymaps, menus, and macros to ProgramData. - -$setupDir = Split-Path -Parent $MyInvocation.MyCommand.Path -$csfSource = Join-Path $setupDir "csf" -$destRoot = "C:\ProgramData\Hummingbird\Connectivity\15.00\Shared" - -if (-not (Test-Path $csfSource)) { - Write-Warning "CSF source folder not found at $csfSource - skipping." - return -} - -Write-Host "Deploying OpenText CSF profiles to $destRoot ..." - -# Map of source subdirectories to destination subdirectories -$folders = @( - @{ Src = "Profile"; Dest = "Profile" } - @{ Src = "Accessories\EB"; Dest = "Accessories\EB" } - @{ Src = "HostExplorer\Keymap"; Dest = "HostExplorer\Keymap" } - @{ Src = "HostExplorer\Menu"; Dest = "HostExplorer\Menu" } -) - -foreach ($folder in $folders) { - $src = Join-Path $csfSource $folder.Src - $dest = Join-Path $destRoot $folder.Dest - - if (-not (Test-Path $src)) { - Write-Host " Skipping $($folder.Src) (not present in csf source)" - continue - } - - if (-not (Test-Path $dest)) { - New-Item -Path $dest -ItemType Directory -Force | Out-Null - Write-Host " Created $dest" - } - - $files = Get-ChildItem -Path $src -File - foreach ($file in $files) { - Copy-Item -Path $file.FullName -Destination $dest -Force - Write-Host " Copied $($file.Name) -> $dest" - } -} - -# Copy pre-made .lnk shortcuts to Public Desktop -$lnkFiles = Get-ChildItem -Path $csfSource -Filter "*.lnk" -File -foreach ($lnk in $lnkFiles) { - Copy-Item -Path $lnk.FullName -Destination "C:\Users\Public\Desktop" -Force - Write-Host " Copied $($lnk.Name) -> Public Desktop" -} - -Write-Host "OpenText CSF deployment complete." diff --git a/playbook/shopfloor-setup/Standard/01-eDNC.ps1 b/playbook/shopfloor-setup/Standard/01-eDNC.ps1 index 58a94f6..6281580 100644 --- a/playbook/shopfloor-setup/Standard/01-eDNC.ps1 +++ b/playbook/shopfloor-setup/Standard/01-eDNC.ps1 @@ -1,6 +1,6 @@ -# 01-eDNC.ps1 — Install eDNC and MarkZebra, deploy custom eMxInfo.txt (Standard) +# 01-eDNC.ps1 — Install eDNC and deploy custom eMxInfo.txt (Standard) -Write-Host "=== eDNC / MarkZebra Setup ===" +Write-Host "=== eDNC Setup ===" $edncDir = "C:\Enrollment\shopfloor-setup\Standard\eDNC" @@ -9,33 +9,22 @@ if (-not (Test-Path $edncDir)) { exit 0 } -# --- Find installers --- +# --- Find installer --- $edncMsi = Get-ChildItem -Path $edncDir -Filter "eDNC-*.msi" | Select-Object -First 1 -$markMsi = Get-ChildItem -Path $edncDir -Filter "MarkZebra.msi" | Select-Object -First 1 $emxInfo = Join-Path $edncDir "eMxInfo.txt" # --- 1. Install eDNC --- if ($edncMsi) { Write-Host "Installing eDNC: $($edncMsi.Name)..." - $p = Start-Process -FilePath "msiexec.exe" -ArgumentList "/i `"$($edncMsi.FullName)`" /qn /norestart LAUNCHNTLARS=false" -Wait -PassThru + $p = Start-Process -FilePath "msiexec.exe" -ArgumentList "/i `"$($edncMsi.FullName)`" /qn /norestart LAUNCHNTLARS=false SITESELECTED=`"West Jefferson`"" -Wait -PassThru Write-Host " eDNC exit code: $($p.ExitCode)" } else { Write-Warning "eDNC installer not found in $edncDir (expected eDNC-*.msi)" } -# --- 2. Install MarkZebra --- -if ($markMsi) { - Write-Host "Installing MarkZebra: $($markMsi.Name)..." - $p = Start-Process -FilePath "msiexec.exe" -ArgumentList "/i `"$($markMsi.FullName)`" /qn /norestart LAUNCHNTLARS=false" -Wait -PassThru - Write-Host " MarkZebra exit code: $($p.ExitCode)" -} else { - Write-Warning "MarkZebra installer not found in $edncDir (expected MarkZebra.msi)" -} - -# --- 3. Mirror x86 installs to 64-bit Program Files (app uses hardcoded paths) --- -# MarkZebra.exe references \Mark\, mxTransactionDll.dll references \Dnc\Server Files\ +# --- 2. Mirror x86 install to 64-bit Program Files (app uses hardcoded paths) --- +# mxTransactionDll.dll references \Dnc\Server Files\ $copies = @( - @{ Src = "C:\Program Files (x86)\Mark"; Dst = "C:\Program Files\Mark" }, @{ Src = "C:\Program Files (x86)\Dnc"; Dst = "C:\Program Files\Dnc" } ) foreach ($c in $copies) { @@ -48,24 +37,12 @@ foreach ($c in $copies) { } } -# --- 4. Set DNC site and MarkZebra config --- +# --- 3. Set DNC site --- $regBase = "HKLM\SOFTWARE\WOW6432Node\GE Aircraft Engines\DNC" reg add "$regBase\General" /v Site /t REG_SZ /d WestJefferson /f | Out-Null Write-Host " DNC site set to WestJefferson." -reg add "$regBase\Mark" /v "Port Id" /t REG_SZ /d COM1 /f | Out-Null -reg add "$regBase\Mark" /v "Baud" /t REG_SZ /d 9600 /f | Out-Null -reg add "$regBase\Mark" /v "Parity" /t REG_SZ /d None /f | Out-Null -reg add "$regBase\Mark" /v "Data Bits" /t REG_SZ /d 8 /f | Out-Null -reg add "$regBase\Mark" /v "Stop Bits" /t REG_SZ /d 1 /f | Out-Null -reg add "$regBase\Mark" /v "Message Type" /t REG_SZ /d V /f | Out-Null -reg add "$regBase\Mark" /v "Debug" /t REG_SZ /d ON /f | Out-Null -reg add "$regBase\Mark" /v "MarkerType" /t REG_SZ /d Mark2D /f | Out-Null -reg add "$regBase\Mark" /v "DncPatterns" /t REG_SZ /d NO /f | Out-Null -Set-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\GE Aircraft Engines\DNC\Mark" -Name "CageCode" -Value "" -Force -Write-Host " MarkZebra registry configured." - -# --- 5. Deploy custom eMxInfo.txt to both Program Files paths --- +# --- 4. Deploy custom eMxInfo.txt to both Program Files paths --- if (Test-Path $emxInfo) { $dest86 = "C:\Program Files (x86)\DNC\Server Files" $dest64 = "C:\Program Files\DNC\Server Files" @@ -81,4 +58,4 @@ if (Test-Path $emxInfo) { Write-Warning "eMxInfo.txt not found at $emxInfo" } -Write-Host "=== eDNC / MarkZebra Setup Complete ===" +Write-Host "=== eDNC Setup Complete ==="