Unknown Computer Bug in Configuration Manager 2012
I just posted an update to this issue. It has been submitted as a Design Change Request to the System Center Product Group.
Today I ran into what I believe to be a bug in the RTM of Configuration Manager 2012. (I have replicated the issue below multiple times in both the RC and RTM.) I’m submitting it on Connect and will update this post if I hear anything back from the product team. BTW…I have mixed feelings writing this post. On one hand it’s exciting to find a bug in a released product (Geek Nirvana). On the other hand, Configuration Manager 2012 is a very solid product that I’m very excited about…I don’t want to make it look bad. Anyway…
I was testing an OSD proof of concept at a client this morning. This is a Configuration Manager 2012 POC and we were deploying Windows 7 32bit over PXE to an HP desktop. I had the following in place:
- OSD has been working fine.
- PXE booting is working without problems.
- I have previously deployed the Win7 image to a different hardware model without issues.
- The Task Sequence is deployed to a Collection that has “All Unknown Computers” as members via an “Include Rule”
In this instance we were needing to deploy to a new model. I imported the drivers into Configuration Manager and added a new “Apply Driver Package” step into the Task Sequence. I forgot to add the new driver package to a Distribution Point…so when I kicked off the new bare metal deployment to this unknown computer, it naturally failed at the “resolving selected task sequence dependencies” check. I quickly realized what I had overlooked and added the driver package to the DP (and ensured it was source version 2…I was surprised to see that this is STILL an issue.). When I attempted to PXE boot the computer again (the unknown computer that had JUST run the task sequence as an unknown) it failed with the “abortpxe.com” error message that typically means that there is no Task Sequence deployment applicable to this computer.
After doing some troubleshooting, I found the following issue…
When the task sequence starts for an unknown computer it creates a new computer object named “Unknown” in the “All Systems” collection.
This computer object has the MAC address and BIOS ID of the previously unknown computer…except that it is now a Known computer…not an Unknown computer…although the System Resource “Unknown Computer” property is set to “1”.
So…my deployment to “All Unknown” computers now fails. This is easy to resolve…simply delete the computer object named “Unknown” and restart the PXE process. But…at best this is an unexpected and undesirable result.
I was able to easily replicate this issue. Here are the steps to replicate the issue:
- Add a package to your Task Sequence that has not been distributed to a Distribution Point
- Deploy the Task sequence to a collection that includes “All Unknown Computers”
- PXE boot a computer that is unknown to Configuration Manager.
- Start the task sequence
- The Task Sequence fails at the “resolving selected task sequence dependencies” check because of the package in step #1
- Find the package that isn’t on a DP and distribute content to the DP (or simply remove it from the Task Sequence).
- Attempt to PXE boot the client again and you will get the “abortpxe.com” message. “TFTP Download: smsboot\x64\abortpxe.com. PXE Boot aborted. Booting to next device…”
- In “All Systems” is a computer object named “Unknown” that has the MAC address of the system that was previously unknown. Because it is in the database, it is now a “known” computer…so deployments to “Unknown Computers” won’t pick up this computer any more.
Options to resolve:
- Delete the computer object(s) named “Unknown” from All Systems
- Add a query rule to the Collection that grabs new computers where the System Resource “Unknown Computer” property = “1”
Note for Option 2: if the TS continues to fail, it will create a second/third/etc object with different resource IDs.