Backup-UDCData.bat / Backup-UDCData.ps1: tech-runnable, UAC-self-elevating. Run on the OLD PC before retirement; reads bay number from udc_settings.json, copies CurrentData.json + ArchiveData/ to \\tsgwp00525\...\backup\udc\<bay>\, drops backup.manifest.json. Refuses the 9999 placeholder so backups never collide across PCs. Restore-UDCData.ps1: idempotent, designed for the manifest engine. 99% of cycles silent no-op (sub-second, zero side effects); 1% (cycle after a backup lands at this PC's bay) restores files locally, moves consumed backup to <bay>\migrated\<timestamp>\, writes restore.manifest.json, relaunches UDC. Round-trip + no-op fast path verified end-to-end on the win11 analyzer VM. Already wired into the Standard-Machine GE-Enforce manifest at standard-machine\manifest.json on the v2 share. Complementary to the placeholder-to-real branch in Update-MachineNumber.ps1: that branch covers the 9999 -> real flow, this one covers the pre-imaged-then-swapped flow where Update-MachineNumber already ran before any backup existed. Both safely no-op if the other consumed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
8.5 KiB
8.5 KiB