The PXE server address appeared 14 times and the share credentials 13, so moving the server or rotating the account meant editing every net use in the file and rebuilding boot.wim - with no way to tell from a diff whether one had been missed. Now set once at the top as PXESERVER / SHAREUSER / SHAREPASS. Exactly one literal address remains, the definition on line 6. Prose in REM comments is left alone so the paths stay readable. This also reaches the post-boot self-heal for free. startnet already writes C:\Enrollment\fetch-source.txt, and both Fetch-StagingPayload.ps1 and Verify-And-Heal-Staging.ps1 read it (line1=UNC, line2=user, line3=pass) with their own hardcoded values only as a fallback. Confirmed on 579C144: [13:30:35] [INFO] fetch-source.txt: UNC=\172.16.9.1\enrollment user=pxe-upload [13:30:36] [INFO] Mounting \172.16.9.1\enrollment as Z: (attempt 1/5)... so the seeded file wins and the heal follows PXESERVER automatically. My earlier claim that the heal scripts were hardcoded was wrong - they were already config-driven and startnet was already seeding them. The hardcoding was all in startnet itself. Verified: set on line 13, first use on line 20; parens balance; every goto resolves; 1005 CRLF lines with no bare LF; the deployed copy contains exactly one literal address. boot.wim md5 7a9b832b.
48 KiB
48 KiB