DS7.1: When assigning an imaging job/task, it is applied to a different computer
Last Updated July 24, 2012
When assigning an imaging (either capture or deploy) Task or Task within a job, the target computer shuts down and reboots to automation correctly, but fails the imaging process. At the same time, a different (non-assigned, but still managed) computer reboots to automation and begins the imaging process and completes successfully.
This is caused by multiple client computers sharing a duplicate GUID in the environment. The GUID is the identifier by which the Server identifies any computer, and thus handles any assignment of Tasks, Jobs, and Policies. The duplication of GUIDs in the environment has an effect on both standard NS communication as well as DS communication, though the effect is different due to the separate communication methodology of the two types.
Standard NS Communication
Upon initial boot, the Symantec Management Agent sends a basic inventory to the Notification Server and checks for latest configuration settings. Thereafter, the connection is closed and no persistent connection is maintained. Further connection is generally limited to Basic Inventory (default interval: 1 day) and Configuration Updates (default interval: 1 hour). Check-in interval can be modified, but is generally several hours. When multiple computers share a duplicate GUID, the NS will interpret each check-in/basic inventory as the same computer; the new inventory information will overwrite the previous information as if the information of a single computer had changed. These changes in inventory can lead to the computer being added to/removed from policy targets incorrectly. Policies are generally smaller configuration settings and may not be immediately apparent on the systems.
Task Service CommunicationThe Altiris Object Host Service Creates a persistent open port connection with client machines. When a task is assigned to a client, the Object Host Service sends a 'tickle' packet to the the client which prompts them to check in with their server to check for tasks. When a task is assigned, the task is pushed out immediately through the persistent connection and causes the client computer to begin the task. If multiple computers are interpreted by the NS to be the same computer (due to GUID duplication), all such computers will be assigned the Task. When that task is applied, all corresponding computers will begin the assigned task.
In this particular case, when an imaging job is applied, the first Task in the job (either 'BCD Edit' or 'Prepare for Image Capture') is received by all computers with the duplicated GUID. This and the following tasks will be executed, eventually getting all the computers into automation. At this point they will being to image - if it is a capture job, then all the computers will fail but a few (as many as four have been seen) which will capture an image successfully. If it is a deployment job, then all computers will be deployed all the affected computers.
To rectify this issue, the computers will have to be assigned a new, distinct GUID. Likely the most straightforward way to do this would be to create a 'Run Script' Task with the following contents and assign it to the machines which have the duplicate GUIDs. In fact, you may only need to assign this to only one machine, and use the duplicate GUID issue against the computers in question.