Validation hashes every uploaded file against sync.json, checks that every other listed file is unchanged in the live BPRT, applies the vendor's package rules and works out what activating the batch would change. Nothing on the share changes.
This batch cannot be activated. Fix the cause on the work PC and run Sync-BPRT.ps1 again (it makes a new batch), then delete this one.
Builds BPRT.new beside the live folder (hard links: unchanged files take no space), puts the site files back on top, checks it once more, then swaps it in with two renames: the live folder becomes BPRT-archive/full-<time> (roll back to it at any time) and BPRT.new becomes BPRT. Every image links to that path, so they all switch at once.
_shared/Applications/BPRT is the vendor's bulk-enroll folder (MCL packages, Office zips, orchestrator scripts) that every image links to and PESetup copies to every PC. The vendor keeps it current on the GE work PC with MediaCreator Lite; Sync-BPRT.ps1 on that PC compares it with this server's copy and uploads only what changed, over SSH, into BPRT-incoming. Here a batch is validated, its changes shown, and activated with the old folder archived. The site's own files ({% for o in overlay %}{{ o }}{% if not loop.last %}, {% endif %}{% endfor %}) are never touched by a sync.
powershell -ExecutionPolicy Bypass -File .\Sync-BPRT.ps1 -DryRun powershell -ExecutionPolicy Bypass -File .\Sync-BPRT.ps1It reads this server's manifest, hashes the local folder (C:\ProgramData\GEAerospace\MediaCenter\Cache\Deploy\Applications\BPRT unless -Source says otherwise), parse-checks the vendor scripts, and uploads the new and changed files with one sftp session: type the pxe password once.
No SSH from that PC? Run it with -ZipOut C:\Temp\bprt.zip and upload the zip below. A zip of the whole vendor folder works too, but is taken as the complete new folder: anything not in it is removed from BPRT (and kept in the archive). Uploads land in {{ incoming }}.