Setting NetBootGuid with Specops Pre-Stage Tool

When a computer is PXE Booting, the only thing it can identify itself with, to the WDS Server, is the GUID or MAC address. Those are then used to do a search in AD to find out;
– which computer account is actually booting
– doing a check if that PC should be reinstalled or not
– if it should be forced to use x86 or best fit
– and which OS Installation settings that should be used

If a match can’t be found for the GUID or MAC address, that computer will be ignored and not be allowed to PXE Boot since it’s not considered managed.

The information is stored in AD on the computer account, in the NetbootGuid attribute like this;

netbootGUID Attribute

The format is either as above when it’s a GUID or if it’s a MAC Address like this;
00000000-0000-0000-0000-00155d400b77

You will need to enable Advanced View in Active Directory Users & Computers to be able to see the Attributes Tab.

If you are running Active Directory Users & Computers on your Windows Deployment Server (WDS), you will also get this Tab, IF there is a value in the NetBootGuid attribute;

So, each computer has to have a GUID or MAC address in the AD Attribute to be identified during PXE Boot and OS installation.

A Client is triggered for Reinstall, the Admin Tool checks AD to see if that client has a NetBootGuid value, if there is one it will be assume that it’s correct.
But if there is no NetBootGuid value, the Admin Tools will use a WMI Query to read the info from the Client and then populate the attribute for you.

If there is no NetBootGuid value, and the client can’t be contacted because the Firewall is blocking the WMI Query or the computer is turned off, the Reinstall command will fail.

We have a small tool called Specops PreStage Tool, a component of our Deploy / OS Administration Tools (C:\Program Files\Specopssoft\Specops Deploy\Admin Tools OS\PreStage Tool) that can be used to populate the NetBootGuid Attribute on all your client PC’s.

C:tempPreStage>PrestageTool.exe /?
The Prestage Tool can automatically prestage a computer in Active Directory with the correct NetbootGUID to use for WDS installations.

Usage:
PrestageTool [/set] [/getlocal] [/getnetboot] [/getmac]
/set                    Finds the local physical UUID and writes it to the computers NetbootGUID attribute in AD, this requires write permissions on the computer object in AD. The /set parameter works well from a startup script and will only write the attribute if it does not exist or differs from the physical value.
/getlocal       Displays the physical UUID in the console.
/getnetboot     Displays the NetbootGUID attribute from the computer object in AD.
/getmac         Displays the MAC address of the first connected (non-wireless) 803.2 NIC

You can either execute it in a computer startup script or as a Specops Deploy / App package like I’ve done here;

You can use a “All Computers” target.

It will then be executed once per computer and set the correct GUID or MAC Address in the AD for your clients.
And you will then never have to worry about missing NetBootGuid’s, enabled firewalls or turned off computers preventing triggering of reinstallations.

(Last updated on October 8, 2024)

Back to Blog