Shopfloor cleanups: drop OpenText CSF + MarkZebra, gitignore eMxInfo

- 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) <noreply@anthropic.com>
This commit is contained in:
cproudlock
2026-04-08 14:05:52 -04:00
parent 05fa74574a
commit 9c54307b1b
3 changed files with 10 additions and 83 deletions

1
.gitignore vendored
View File

@@ -49,3 +49,4 @@ mok-keys/
# Secrets # Secrets
secrets.md secrets.md
**/eMxInfo*.txt

View File

@@ -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."

View File

@@ -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" $edncDir = "C:\Enrollment\shopfloor-setup\Standard\eDNC"
@@ -9,33 +9,22 @@ if (-not (Test-Path $edncDir)) {
exit 0 exit 0
} }
# --- Find installers --- # --- Find installer ---
$edncMsi = Get-ChildItem -Path $edncDir -Filter "eDNC-*.msi" | Select-Object -First 1 $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" $emxInfo = Join-Path $edncDir "eMxInfo.txt"
# --- 1. Install eDNC --- # --- 1. Install eDNC ---
if ($edncMsi) { if ($edncMsi) {
Write-Host "Installing eDNC: $($edncMsi.Name)..." 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)" Write-Host " eDNC exit code: $($p.ExitCode)"
} else { } else {
Write-Warning "eDNC installer not found in $edncDir (expected eDNC-*.msi)" Write-Warning "eDNC installer not found in $edncDir (expected eDNC-*.msi)"
} }
# --- 2. Install MarkZebra --- # --- 2. Mirror x86 install to 64-bit Program Files (app uses hardcoded paths) ---
if ($markMsi) { # mxTransactionDll.dll references \Dnc\Server Files\
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\
$copies = @( $copies = @(
@{ Src = "C:\Program Files (x86)\Mark"; Dst = "C:\Program Files\Mark" },
@{ Src = "C:\Program Files (x86)\Dnc"; Dst = "C:\Program Files\Dnc" } @{ Src = "C:\Program Files (x86)\Dnc"; Dst = "C:\Program Files\Dnc" }
) )
foreach ($c in $copies) { 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" $regBase = "HKLM\SOFTWARE\WOW6432Node\GE Aircraft Engines\DNC"
reg add "$regBase\General" /v Site /t REG_SZ /d WestJefferson /f | Out-Null reg add "$regBase\General" /v Site /t REG_SZ /d WestJefferson /f | Out-Null
Write-Host " DNC site set to WestJefferson." Write-Host " DNC site set to WestJefferson."
reg add "$regBase\Mark" /v "Port Id" /t REG_SZ /d COM1 /f | Out-Null # --- 4. Deploy custom eMxInfo.txt to both Program Files paths ---
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 ---
if (Test-Path $emxInfo) { if (Test-Path $emxInfo) {
$dest86 = "C:\Program Files (x86)\DNC\Server Files" $dest86 = "C:\Program Files (x86)\DNC\Server Files"
$dest64 = "C:\Program Files\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-Warning "eMxInfo.txt not found at $emxInfo"
} }
Write-Host "=== eDNC / MarkZebra Setup Complete ===" Write-Host "=== eDNC Setup Complete ==="