# Copy fixed batch files to AD2, which will sync to NAS
$password = ConvertTo-SecureString "Paper123!@#" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential("INTRANET\sysadmin", $password)

Write-Host "=== Pushing Fixed BAT Files to AD2 ===" -ForegroundColor Cyan
Write-Host ""

# List of fixed batch files
$batFiles = @(
    "DEPLOY.BAT",
    "NWTOC.BAT",
    "CTONW.BAT",
    "UPDATE.BAT",
    "STAGE.BAT",
    "CHECKUPD.BAT",
    "REBOOT.BAT",
    "AUTOEXEC.BAT",
    "STARTNET.BAT",
    "DOSTEST.BAT"
)

$localPath = "D:\ClaudeTools"
$pushedCount = 0
$errorCount = 0

foreach ($batFile in $batFiles) {
    $localFile = Join-Path $localPath $batFile

    if (Test-Path $localFile) {
        Write-Host "[FOUND] $batFile" -ForegroundColor Green

        # Copy to AD2
        Invoke-Command -ComputerName 192.168.0.6 -Credential $cred -ScriptBlock {
            param($fileName, $content)

            # Determine destination based on file type
            if ($fileName -match "AUTOEXEC|STARTNET|CONFIG") {
                # System files go to COMMON\DOS
                $destPath = "C:\Shares\test\COMMON\DOS\$fileName"
            } else {
                # Utility scripts go to COMMON root or appropriate location
                $destPath = "C:\Shares\test\$fileName"
            }

            # Write the file
            $content | Out-File -FilePath $destPath -Encoding ASCII -Force

            Write-Host "  [OK] Copied to: $destPath" -ForegroundColor Green

            return $destPath
        } -ArgumentList $batFile, (Get-Content $localFile -Raw)

        $pushedCount++
    } else {
        Write-Host "[MISSING] $batFile - not found at $localFile" -ForegroundColor Yellow
        $errorCount++
    }
}

Write-Host ""
Write-Host "=== Summary ===" -ForegroundColor Cyan
Write-Host "Files pushed: $pushedCount" -ForegroundColor Green
Write-Host "Files missing: $errorCount" -ForegroundColor Yellow

if ($pushedCount -gt 0) {
    Write-Host ""
    Write-Host "[INFO] Files copied to AD2" -ForegroundColor Cyan
    Write-Host "[INFO] Next sync (every 15 min) will push to NAS" -ForegroundColor Cyan
    Write-Host "[INFO] Then accessible from DOS machines at T:\COMMON\" -ForegroundColor Cyan
}
