95 lines
3.4 KiB
PowerShell
95 lines
3.4 KiB
PowerShell
# Push Fixed BAT Files Directly to NAS
|
|
# Bypasses AD2 sync - direct deployment to D2TESTNAS
|
|
# Date: 2026-01-20
|
|
|
|
Write-Host "========================================" -ForegroundColor Cyan
|
|
Write-Host "Direct NAS Deployment (Bypass AD2 Sync)" -ForegroundColor Cyan
|
|
Write-Host "========================================" -ForegroundColor Cyan
|
|
Write-Host ""
|
|
|
|
# Files to deploy (all latest versions)
|
|
$Files = @(
|
|
"AUTOEXEC.BAT",
|
|
"UPDATE.BAT", # v2.2
|
|
"DEPLOY.BAT",
|
|
"NWTOC.BAT", # v2.2
|
|
"CTONW.BAT", # v2.1
|
|
"CHECKUPD.BAT", # v1.2
|
|
"STAGE.BAT",
|
|
"REBOOT.BAT",
|
|
"DOSTEST.BAT" # v1.1
|
|
)
|
|
|
|
# NAS connection details
|
|
$NASHost = "192.168.0.9"
|
|
$NASUser = "root"
|
|
$DestPath = "/data/test/COMMON/ProdSW"
|
|
|
|
Write-Host "Copying files to D2TESTNAS..." -ForegroundColor Yellow
|
|
Write-Host "Target: $NASHost`:$DestPath" -ForegroundColor Gray
|
|
Write-Host ""
|
|
|
|
$SuccessCount = 0
|
|
$FailCount = 0
|
|
|
|
foreach ($File in $Files) {
|
|
$SourceFile = "D:\ClaudeTools\$File"
|
|
|
|
if (-not (Test-Path $SourceFile)) {
|
|
Write-Host " [SKIP] $File (not found locally)" -ForegroundColor Yellow
|
|
continue
|
|
}
|
|
|
|
Write-Host " Copying $File..." -NoNewline
|
|
|
|
try {
|
|
# Use pscp.exe to copy via SSH (passwordless with key)
|
|
# Convert Windows path to WSL/Linux format for pscp
|
|
$UnixSource = $SourceFile -replace '\\', '/'
|
|
$UnixSource = $UnixSource -replace 'D:', '/mnt/d'
|
|
|
|
# Use pscp from PuTTY tools
|
|
& pscp.exe -batch -i C:\Users\MikeSwanson\.ssh\id_ed25519 "$SourceFile" "${NASUser}@${NASHost}:${DestPath}/${File}" 2>&1 | Out-Null
|
|
|
|
if ($LASTEXITCODE -eq 0) {
|
|
Write-Host " [OK]" -ForegroundColor Green
|
|
$SuccessCount++
|
|
} else {
|
|
Write-Host " [FAILED]" -ForegroundColor Red
|
|
$FailCount++
|
|
}
|
|
} catch {
|
|
Write-Host " [ERROR] $_" -ForegroundColor Red
|
|
$FailCount++
|
|
}
|
|
}
|
|
|
|
Write-Host ""
|
|
Write-Host "========================================" -ForegroundColor Cyan
|
|
Write-Host "Deployment Summary" -ForegroundColor Cyan
|
|
Write-Host "========================================" -ForegroundColor Cyan
|
|
Write-Host ""
|
|
Write-Host "Successful: $SuccessCount" -ForegroundColor Green
|
|
Write-Host "Failed: $FailCount" -ForegroundColor $(if ($FailCount -eq 0) { "Green" } else { "Red" })
|
|
Write-Host ""
|
|
|
|
if ($SuccessCount -gt 0) {
|
|
Write-Host "Files are now available on NAS at:" -ForegroundColor Yellow
|
|
Write-Host " T:\COMMON\ProdSW\" -ForegroundColor White
|
|
Write-Host ""
|
|
Write-Host "Test on TS-4R immediately:" -ForegroundColor Yellow
|
|
Write-Host " C:\BAT\NWTOC - Download updates" -ForegroundColor White
|
|
Write-Host " C:\BAT\UPDATE - Test backup" -ForegroundColor White
|
|
Write-Host " C:\BAT\CHECKUPD - Check for updates" -ForegroundColor White
|
|
Write-Host ""
|
|
Write-Host "Latest versions deployed:" -ForegroundColor Cyan
|
|
Write-Host " UPDATE.BAT v2.2 - XCOPY fix + Drive test fix" -ForegroundColor Gray
|
|
Write-Host " NWTOC.BAT v2.2 - XCOPY fix + Drive test fix" -ForegroundColor Gray
|
|
Write-Host " CTONW.BAT v2.1 - Drive test fix" -ForegroundColor Gray
|
|
Write-Host " CHECKUPD.BAT v1.2 - XCOPY fix + Drive test fix" -ForegroundColor Gray
|
|
Write-Host " DOSTEST.BAT v1.1 - Drive test fix" -ForegroundColor Gray
|
|
} else {
|
|
Write-Host "[ERROR] No files copied successfully!" -ForegroundColor Red
|
|
Write-Host "Check SSH key and NAS connectivity" -ForegroundColor Yellow
|
|
}
|