Today I had “The Case of the Missing PXE Advertisement” with a PC. Bit of background – I’ve an OSDeploy device collection which has a zero touch MDT Task Sequence deployed to it, advertised to PXE and Media only, and set to always rerun program. So anything in this collection will automatically get the deployment. Infinite loops are prevented by the “PXE Deployments” flag that is automatically set on computer objects once they have started a PXE deployment. To re-image a PC I just drop it back in the collection and clear the flag. I’ve also got one which prompts for the computer name, advertised as optional to all Unknown Computers. New kit I boot to this and put the name in and off it goes.
So today I did the usual – Computer object moved into my OSDeploy Device Collection, cleared its previous PXE deployment flags and updated collection membership. Boot the device and it aborts and drops through to the local disk bootloader. Eventually ended up deleting the computer object – after all, that should make it run the task sequence deployed to all Unknown Computers, right? Well, no in this case. I’ve previously had the case where I’ve had duplicate MAC addresses on a couple of PCs so I then checked through them – no, the MAC address in question is not even known to SCCM (because I deleted the computer object).
So my next step was to check smspxe.log on the SCCM server – this is in Program Files\Microsoft Configuration Manager\Logs\SMSPXE.log. If you’ve not already got it, cmtrace (formerly trace32) is a great way to look at these log files – on the latest version of SCCM it’s in \\server\SMS_<SITENAME>\cd.latest\SMSSETUP\TOOLS. By default it will automatically update the window when new log entries are added. Keeping the log open, I attempted to boot the PC again to get the log entries to show at the bottom of the file. I then found the MAC address of the PC in question:
It’s showing that there are no advertisements – so nothing wrong with the PXE boot process itself, required more investigation. I then noticed that the GUID is similar but different to that shown on the PC, in that the numbers have been transposed in pairs – so what was 12345678 on the PC is suddenly 34127856 in SCCM. This transposed GUID happens to match another PC from the same batch.
With the latest version of Current Branch (1810) there is a screen for excluding duplicate GUIDs/MACs from being used for identification – so I’ve added the GUID in there (as displayed in smspxe.log) and all is now behaving. To get to this section, from the SCCM console go to Administration -> Site Configuration -> Sites. Select the site, then in the ribbon click Hierarchy Settings. Enter the MAC or GUID (whichever is causing the problem) into the bottom section.
Quite how I’ve ended up with duplicate MACs previously, and now this odd thing around GUIDs is baffling as they’re supposed to be unique!