SCCM 2012 SP1 - PXE boot issue

Soldato
Joined
7 Jun 2003
Posts
16,147
Location
Gloucestershire
Question about the functionality of SCCM with regards to day to day mangement......

I've only just started using the OSD part, I've got all my machines running the sccm client, i've setup task sequences installing various apps etc and setting various required settings and that's all working wonderfully....but...

Lets say i have a computer, that I'm replacing with an entirely new PC which will take over the old computers name. The old PCs hardware will be reused elsewhere or the OS had screwed up and the quickest method rather than reimaging was to replace it quickly.

So now i have new hardware taking over that name, SCCM recognises that and installs the client etc. but when i try to reimage the old hardware it fails to PXE boot, just skipping straight to PXE Abort.

What am i missing? Everything i try i just can't get this old PC to PXE boot! I've run various queries to ensure there's no duplicate GUIDs, names, mac addresses within the SCCM database. I have my TS deployed to the unknown computers collection and deployment to unknown computers enabled, i just can't work out why this won't PXE boot!

Hopefully i've explained that well enough, probably made a mess of it reading back but fire questions or suggestions at me please :)
 
I guess you have advertised the task sequence to the Unknown computers collection and as it has been registered with SCCM it is no longer in that group.
 
I guess you have advertised the task sequence to the Unknown computers collection and as it has been registered with SCCM it is no longer in that group.

Yep, deployed the TS to unknown computers and I've checked and double checked that the machine no longer exists anywhere within SCCM, including searching explicitly for its name and mac address.
 
Check SMSPXE.log to find out what's going on. Also try restarting WDS

Client boot action reply: <ClientIDReply><Identification Unknown="0" ItemKey="16777956" ServerName="" ServerRemoteName=""><Machine><ClientID/><NetbiosName/></Machine></Identification><PXEBootAction LastPXEAdvertisementID="" LastPXEAdvertisementTime="" OfferID="" OfferIDTime="" PkgID="" PackageVersion="" PackagePath="" BootImageID="" Mandatory=""/></ClientIDReply>
SMSPXE 10/06/2013 16:04:06 3184 (0x0C70)

00:15:58:72:D5:C2, 00000000-0000-0000-0807-060504030201: no advertisements found SMSPXE 10/06/2013 16:04:06 3184 (0x0C70)

One thing i've noticed is that the GUID of this machine, is the same as quite a few of my machines with the same motherboard (quite an old 945 chipset board this one)

That said i restarted my configmgr server earlier and went a bit further back in the log and found some errors, everything still works but is this a separate issue?
jw6mjLD.png
 
It looks like it's still known to the SCCM server somewhere, are you saying you run a query for the ItemKey and it returns multiple computers?

Why don't you advertise the task to all computers and put a password on it? Saves messing around with this issue (which will come back again and again).
 
It looks like it's still known to the SCCM server somewhere, are you saying you run a query for the ItemKey and it returns multiple computers?

Why don't you advertise the task to all computers and put a password on it? Saves messing around with this issue (which will come back again and again).

That's a very good point, I was hoping to work towards zero touch installations some day which i guess i can't do with it advertised to all systems? but i guess considering i've been using basic WDS for my images for the past 3 years i can happily stay with it as i have it now for just as long :p

I'll give it a go advertising to All systems tomorrow and see if that works, which i guess should. Thanks
 
That's a very good point, I was hoping to work towards zero touch installations some day which i guess i can't do with it advertised to all systems? but i guess considering i've been using basic WDS for my images for the past 3 years i can happily stay with it as i have it now for just as long :p

I'll give it a go advertising to All systems tomorrow and see if that works, which i guess should. Thanks

You could still create a more specific mandatory assignment for PCs you want to zero touch I guess, never tried it.

If you advertise it to all computers beware it will show up in the software centre in Windows and will run without a password. To stop this change the task sequence to only run on Vista 64bit (or another OS you don't use). That way it will still be available in PXE but not in Windows.
 
Advertising an OS to all systems? /cries a little bit.

MP connection errors are not good. Is your MP functioning correctly? Are you still seeing them now? Or were they just during the restart?

TerrierJimlad, the issue you mentioned is fixed by setting a lower PXE Cache Expiry time.
 
Advertising an OS to all systems? /cries a little bit.

MP connection errors are not good. Is your MP functioning correctly? Are you still seeing them now? Or were they just during the restart?

TerrierJimlad, the issue you mentioned is fixed by setting a lower PXE Cache Expiry time.

How would i know if my MP wasn't functioning correctly? Everything appears to be working ok. Those errors were during the server restart (not just service, but the whole server) so likely nothing to worry about?

I ended up advertising to all desktop and server clients (as with all systems i wouldn't be able to set the OSDComputerName option), that works, though obviously i'd like to not have to do that if i can help it by solving this in a way that's going to be easy to solve in the future. That said, it's only a school and students can't restart or turn on powered off PCs so they'll never see the F12 to PXE boot option (The PCs aren't in cases as such) and even if they did it's passworded beyond that point.

You could still create a more specific mandatory assignment for PCs you want to zero touch I guess, never tried it.

If you advertise it to all computers beware it will show up in the software centre in Windows and will run without a password. To stop this change the task sequence to only run on Vista 64bit (or another OS you don't use). That way it will still be available in PXE but not in Windows.

I have it set to only be available to Media and PXE, not to configuration manager clients....not that users can load the CCM client anyway, we're not using the app request options or user control over installed apps. At least not yet, but i can't foresee it being required either.
 
How would i know if my MP wasn't functioning correctly? Everything appears to be working ok. Those errors were during the server restart (not just service, but the whole server) so likely nothing to worry about?

I ended up advertising to all desktop and server clients (as with all systems i wouldn't be able to set the OSDComputerName option), that works, though obviously i'd like to not have to do that if i can help it by solving this in a way that's going to be easy to solve in the future. That said, it's only a school and students can't restart or turn on powered off PCs so they'll never see the F12 to PXE boot option (The PCs aren't in cases as such) and even if they did it's passworded beyond that point.

Yes if they happened when you were rebooting the site server then that would most likely explain the MP errors.

I really wouldn't recommend advertising an OS to such a large collection, let alone a default collection. It is very bad practise.

If you can PXE boot the machine and post up the segment of smspxe.log from the time you've booted the machine (or upload it for me) I will take a look for you.
 
Last edited:
I really wouldn't recommend advertising an OS to such a large collection, let alone a default collection. It is very bad practise.
.

It sounds like you're quite experienced with System Center. What are the reasons against making a task sequence available to all systems?
 
It's mainly risk mitigation - in my line of work I have seen many issues arise from (mostly accidental) All Systems deployments. For this reason I typically advocate creating separate collections and leaving All Systems (and all the default collections tbh) alone.

Targeting All Systems also means more policy provider overhead, which *could* affect performance.

I think we also flag deployments to All Systems as part of our risk assessment but need to double check.
 
Yes if they happened when you were rebooting the site server then that would most likely explain the MP errors.

I really wouldn't recommend advertising an OS to such a large collection, let alone a default collection. It is very bad practise.

If you can PXE boot the machine and post up the segment of smspxe.log from the time you've booted the machine (or upload it for me) I will take a look for you.

I have an alternate solution that appears to be working.

My site is split into 8 vlans, and I've got collections with an ip subnet query for each one. Deploying to the right one of those works, i assume that's because even though i cant see the record of the PC, the information for what subnet it was/is in is still there.

One thing i did want to ask of you experienced SCCM users though.....I've used this script: http://cm12sdk.net/?p=1371 to recreate my AD OU structure in the device collections section, but is there any scripts out there that will create an individual collection with the same name as each folder, and add a query that will query its relevant folder in AD for the devices?

Sounds a bit far fetched to hope for such a thing mind but that said i didn't expect there to be a script for creating the same tree structure either, so you never know.
 
Skimmed over a lot here..

But are you deleting it from within SCCM before trying to PXE?

Can't find it to do that, because what it was named previously has been replaced by a new PC with the same name. Even though this one has had a new (albeit not deployed through SCCM) image on it with a new name, it's not reappeared in SCCM for me to do anything with it.
 
I've got a new issue, the only information google gives me on this is that it's a certificates error but I have a valid certificate, it's not blocked and it's working on every other device in the environment but....

I have one specific model of laptop (which has a horrible SiS network and graphics chip in it..) whenever i try and image this laptop everything goes as expected right up to the point that the OS finishes installing the drivers, it adds to the domain as expected along with the right name, but then upon restarting it loads straight up to the logon screen rather than continuing the task sequence for the software.

Here's the error I get in SMSTS.log:
<![LOG[==============================[ OSDSetupHook.exe ]==============================]LOG]!><time="15:57:03.968-60" date="06-13-2013" component="OSDSetupHook" context="" type="1" thread="1200" file="osdsetuphook.cpp:186">
<![LOG[Executing task sequence]LOG]!><time="15:57:04.031-60" date="06-13-2013" component="OSDSetupHook" context="" type="1" thread="1200" file="osdsetuphook.cpp:279">
<![LOG[Loading the Task Sequencing Environment from "C:\_SMSTaskSequence\TSEnv.dat".]LOG]!><time="15:57:04.312-60" date="06-13-2013" component="OSDSetupHook" context="" type="1" thread="1200" file="basesetuphook.cpp:366">
<![LOG[Environment scope successfully created: Global\{51A016B6-F0DE-4752-B97C-54E6F386A912}]LOG]!><time="15:57:04.312-60" date="06-13-2013" component="OSDSetupHook" context="" type="1" thread="1200" file="environmentscope.cpp:659">
<![LOG[Environment scope successfully created: Global\{BA3A3900-CA6D-4ac1-8C28-5073AFC22B03}]LOG]!><time="15:57:04.312-60" date="06-13-2013" component="OSDSetupHook" context="" type="1" thread="1200" file="environmentscope.cpp:659">
<![LOG[Failed to load environment from C:\_SMSTaskSequence\TSEnv.dat (80090005)]LOG]!><time="15:57:04.453-60" date="06-13-2013" component="OSDSetupHook" context="" type="2" thread="1200" file="environmentlib.cpp:759">
<![LOG[Failed to load the Task Sequencing Environment object from "C:\_SMSTaskSequence\TSEnv.dat". Code(0x80090005)]LOG]!><time="15:57:04.453-60" date="06-13-2013" component="OSDSetupHook" context="" type="3" thread="1200" file="basesetuphook.cpp:380">
<![LOG[Uninstalling Setup Hook]LOG]!><time="15:57:04.453-60" date="06-13-2013" component="OSDSetupHook" context="" type="1" thread="1200" file="basesetuphook.cpp:1566">
<![LOG[Removing setup hook from registry.]LOG]!><time="15:57:04.453-60" date="06-13-2013" component="OSDSetupHook" context="" type="0" thread="1200" file="vistasetuphook.cpp:143">
<![LOG[Successfully removed C:\WINDOWS\system32\OSDGINA.DLL]LOG]!><time="15:57:04.453-60" date="06-13-2013" component="OSDSetupHook" context="" type="1" thread="1200" file="basesetuphook.cpp:1312">
<![LOG[Successfully removed C:\WINDOWS\system32\OSDSETUPHOOK.EXE]LOG]!><time="15:57:04.578-60" date="06-13-2013" component="OSDSetupHook" context="" type="1" thread="1200" file="basesetuphook.cpp:1312">
<![LOG[Successfully removed C:\WINDOWS\system32\_SMSOSDSetup]LOG]!><time="15:57:04.578-60" date="06-13-2013" component="OSDSetupHook" context="" type="1" thread="1200" file="basesetuphook.cpp:1349">
<![LOG[RegQueryValueExW failed for Software\Microsoft\SMS\Task Sequence, SMSTSEndProgram]LOG]!><time="15:57:04.578-60" date="06-13-2013" component="OSDSetupHook" context="" type="2" thread="1200" file="utils.cpp:261">
<![LOG[GetTsRegValue() failed. 0x80070002.]LOG]!><time="15:57:04.578-60" date="06-13-2013" component="OSDSetupHook" context="" type="2" thread="1200" file="utils.cpp:279">
<![LOG[End program: ]LOG]!><time="15:57:04.578-60" date="06-13-2013" component="OSDSetupHook" context="" type="1" thread="1200" file="basesetuphook.cpp:1580">
<![LOG[Successfully finalized logs to SMS client log directory from C:\WINDOWS\CCM\Logs]LOG]!><time="15:57:04.687-60" date="06-13-2013" component="OSDSetupHook" context="" type="1" thread="1200" file="tslogging.cpp:1542">
<![LOG[Cleaning up task sequence folder]LOG]!><time="15:57:04.687-60" date="06-13-2013" component="OSDSetupHook" context="" type="1" thread="1200" file="utils.cpp:1746">
<![LOG[Deleting volume ID file C:\_SMSTSVolumeID.7159644d-f741-45d5-ab29-0ad8aa4771ca ...]LOG]!><time="15:57:06.312-60" date="06-13-2013" component="OSDSetupHook" context="" type="1" thread="1200" file="resolvesource.cpp:519">
<![LOG[Failed to execute task sequence (0x80090005)]LOG]!><time="15:57:06.312-60" date="06-13-2013" component="OSDSetupHook" context="" type="3" thread="1200" file="osdsetuphook.cpp:284">
 
Back
Top Bottom