this is probably in the TOP 5 of OSD issues around there (no matter which version of SCCM you are using)
I have assembled the following causes, if you have more please comment so we can update the list guys (and girls…) !
– The computer is not imported in the console if you are using known computers not unknown computers
– If you are using unknown computers, delete any devices with the name unknown (but whatever you do DO NOT delete the two builtin unknown records)
– Make sure that the TS is enabled
– Make sure the device is in a collection with a TS deployed to it
– Change the schedule of the deployment to yesterday
– Check if the TS deployment is set to ‘configmgr client, media and PXE’
– The computer is imported with a mac address that is already in the database (check the report ‘MAC computers for a specific mac address’
– The computer still has a cached pxe advertisement
– The computer is in the console but is not approved
– The computer has incorrect date/time settings
– Check if the DP certificates have not expired
– The bootimage associated to the ts has not been distributed yet
– The resourceid of the computer that boots is already used by another machine in the console (verify the ‘itemkey’ value from SMSPXE.log versus the result from select * from v_R_system where resourceid=’….’
– The biosguid of the computer that boots is already used by another machine in the console (check the biosguid from SMSPXE.LOG versus the result from select * from v_R_system where smbios_guid0 LIKE ‘%…%’ (try with a part of the biosguid…)
– Delete the device from the console and import it again
– Check if there are any bad policy assignments in the sql db:
SELECT * FROM ResPolicyMap WHERE machineid = 0 and PADBID IN (SELECT PADBID FROM PolicyAssignment WHERE BodyHash IS NULL) if this returns anything then you have to delete the items with: Delete FROM ResPolicyMap WHERE machineid = 0 and PADBID IN (SELECT PADBID FROM PolicyAssignment WHERE BodyHash IS NULL)