SCIF 2.0 Specification

3.2.1 Support for unknown computer deployment

Issue Description:

(Work Item 4156 - http://scif.codeplex.com/WorkItem/View.aspx?WorkItemId=4156)

The summary of the issue is that when a user tries to deploy an “unknown computer” (one that is not already entered into the SCCM database) and uses the OEM kit task steps in a task sequence, the task sequence fails during the OEM task step.

This is caused by the way ConfigMgr handles unknown computers compared to computers already imported into the database. With unknown computers, it masks the identity of the machine and uses one of the two pre-installed “pseudo computers” located in the Unknown Computers collection. While the machine being deployed does have its own record in the SCCM database, it is listed as an unknown computer and has special properties (and restrictions) until deployed. These restrictions prevent the OEM scripts from setting machine variables for the computer, which are required for properly stepping through the task sequence across reboots back to PXE.

Here is specifically what happens during the task sequence:
  • The query of SMSRSystem to find the resource ID of the machine using its GUID from _SMSTSClientIdentity succeeds and returns the ResourceID of the machine.
  • The script successfully spawns a new blank instance of SMS_MachineSettings
  • When trying to Put() the new instance (which uses the Resource ID found above), the process fails because “The machine is not an SMS client”.
The problem is this:
  • In manually restarting a task sequence on an unknown machine, you have to reset the PXE advertisement on the “pseudo” computer (in the Unknown Computers collection) since that’s the one being used during PXE boot. The real computer does not belong to a collection yet, so it has no assigned PXE advertisement to reset.
  • Every unknown computer is masked as the “pseudo” computer, so setting a machine variable on the “pseudo” computer won’t work, so step variable values have to be done on the specific machine
  • The individual machine won’t accept a machine variable until it is recognized as a “real” machine
  • Changing a machine to a “real” machine now means it is no longer masked as the “unknown” computer, which means the task sequence assigned to it would no longer apply. You would need to create a collection, assign the computer to the collection, and assign the task sequence to the collection. Based on the machine variable, the computer would pick up the task sequence at the right point once it rebooted.

Change Needed:

Change Description:

Example Scenario:

Last edited Sep 3, 2009 at 7:32 PM by rhearn, version 1

Comments

No comments yet.