Hey Michael,
It just occurred to me that you may have a couple of console based settings that are causing you this grief. When a system boots to WinPE, the natural behavior is that it will react one of two ways. If the system is unknown to the database (does not have a record), it will stop in WinPE and go into a wait state. The icon associated with the “Wait” state in the console is a yellow triangle over the computer icon. If it is known to the database (has a valid record), the other way it behaves is that it will simply check if there is a job pending for it, and if so, execute that job, if there is no job pending for it, then it will simply reboot back to production.
Forgive me if you already know this, but the reason I bring it up is that you may be suffering from a breakdown in the first scenario. Things that have thrown me for a loop in the past are the global identifiers [ Tools > Options > Global Tab ] in the global settings. There is where you specify the criteria for identifying a system. By default, this criteria is only the MAC address, and so you may see where I am going with this. Because it only uses the MAC address as the only identifier, things like docking stations, port replicators, usb dongles, and wireless adapters would all have different MAC Addresses than the internal LAN adapter, and could inadvertently result in a duplicate record because GSS thinks it is in fact a completely different system. Using a dongle and such across multiple systems would result in this kind of thing if you haven’t changed the global identifiers.
If by chance you ended up with a duplicate record in the database, it might explain you scheduling the job against a stale or invalid record and it might explain why the jobs are not kicking off. Another global setting that is not checked by default is the “Synchronize display names with computer names” option [ 3rd checkbox from the top on the same Global Tab]. This setting refreshes the record name to whatever it is on the running operating system. This setting is not as important in WinPE because it normally resolves to its production name, but if it was a new system that had not been managed it would show up usually as the serial number of the system. If the box is unchecked it could be confusing if its just not updating the record to reflect the system correctly in the console. Anyway the way to fix all this is to add an additional global identifier such as the serial number. That way when a new record is written to the database, it will see the new MAC address, but then match it to the serial number of an existing record and not create an additional record.
It is important to know that the system will not retroactively merge records, so if this is in fact your issue, the best thing to do would be to look in the console and confirm you do not have any duplicates for the system in question. The global identifiers can also work against you if you are dealing with a system board that has been replaced but not branded properly. An example of this is a system that has a UUID of all zeros, or a serial number that has not been set such as NULL. This would also cause duplicates in the database since GSS would not be able to resolve unique values for the records. Sorry this post is so long winded, but even if this is not your issue, it may help someone else. I hope this gets you further along. If it happens to solve your issue, would you kindly mark it as a solution. Please report back with your findings.
Thanks! Good Luck :)