# 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 }