When deploying to systems, we've identified a few, over time, where the manufacturer hasn't properly filled in the SMBIOS data (such as Giada or Intel NUC). This is because they, as an integrator, are purchasing motherboards in bulk and just slapping them into a case without using the board manufacturer's utility to set the SMBIOS data.

In some cases (such as Giada), we had to communicate with the factory to obtain the utility necessary to configure the BIOS to reflect the make/model and serial number of the device.

For the Intel NUC, they also had to have a particular BIOS build prepared that included make/model info (which, at the least, is needed for the MDT solution to function properly). Fortunately, for the Intel NUC, it supports updating BIOS via a UEFI utility, which can read FAT32 formatted USB disks (which we conveniently have with the MDTBOOT partition). It doesn't store the correct serial number, but that's okay.

For the solution that we've come up with, we use the MAC address of the wired NIC as the device's unique identifier, except if the wired NIC is known to be a USB dongle NIC. In that case, we use the computer's serial number from SMBIOS as the unique identifier. Since these random and incomplete motherboards may not have serial numbers, they do have unique MAC addresses, so that works out okay.

We also make use of the computer's make and model identification from SMBIOS in order to properly select drivers for the device. While there is a way to work around the inability to set that, it isn't recommended long term.