A bay comes off the line unable to build a printer queue. Set-ShopdbPrinters.ps1 creates queues against drivers that are already present and skips any that are not, so a freshly imaged PC silently gets no printers until some later enforcement cycle tops it up. The two universals are 100 MB and resolve the overwhelming majority of the fleet's printers. The four device-specific drivers are another 126 MB and are deliberately NOT here - they belong only on bays that own that hardware, and those bays pick them up from the runtime manifest. NO WAVE GATE on these entries, unlike the runtime ones. Waves exist because ~300 bays share one runtime share and GE-Enforce spreads them across only five minutes; imaging runs a handful of bays at a time on the isolated PXE LAN that already moves multi-GB WIMs, so there is no stampede to prevent. DETECTION IS THE SPOOLER'S OWN KEY, not pnputil, and the difference is not cosmetic. Installing a printer driver is two steps: pnputil /add-driver stages the package into the driver store, Add-PrinterDriver registers it with the spooler. Get-PrinterDriver - which is what Set-ShopdbPrinters consults - reads the spooler. Measured on a Win11 bay: after Remove-PrinterDriver the spooler reports the driver gone while pnputil still lists the package, so a pnputil- detected entry would report compliant forever while every queue kept skipping. A broken bay that looks healthy is the worst outcome available here. The payload is not in git, matching every other installer under preinstall/: stage printer-drivers/ onto the PXE share alongside the rest.
22 KiB
22 KiB