One of the most common (and painful) issues in SMS/SCCM is the presence of duplicate guids. Each and every SMS/SCCM client generates a unique identifier upon installation known as a GUID or Globally Unique Identifier. This is completely different than the SID of the machine in Active Directory and is used only by SMS/SCCM for managing clients. If two machines are reporting into the server with the same GUID, the server is no longer able to accurately target or report on these machines. As such, getting this issue resolved is critical to the successful operation of your environment.
The first step is to ensure this situation does not happen again or get worse while you are trying to rectify it. The single most common reason for this issue is when disk imaging is used to replicate computers from one machine to another. The critical change to your imaging/provisioning process that needs to be implemented is either:
A) The SMS/SCCM client should be removed from the source images before it is used to provision new machines.
B) If you wish you can leave the client on the image but prepare it for imaging using the methods below.
Depending on which client is on the source image (SMS or SCCM), you will want to use one of these methods:
For SMS 2003 please see: http://support.microsoft.com/kb/828367 or to uninstall the client you can use ccmclean from the SMS 2003 toolkit #2 found here: http://www.microsoft.com/downloads/details.aspx?FamilyID=61e4e21f-2652-42dd-a04d-b67f0573751d&DisplayLang=en
For SCCM 2007 please see: http://technet.microsoft.com/en-us/library/bb694095.aspx or simply remove the client completely by running ccmsetup /uninstall from the system32\ccmsetup folder on the imaging machine.
As for remediation of machines currently affected by this issue, here are the steps you can use.
1) Identify the systems with a duplicate GUID
2) Delete the c:\windows\smscfg.ini file from the client
3) Run CCMDELCERT on the client (*)
4) Restart the SMS Client agent (SMS Agent Host)
5) A new GUID will be generated
(*)Ccmdelcert.exe wasn't included in the System Center Configuration Manager 2007 Toolkit, but you can still use the version in the SMS2003 Toolkit 2. You can download that here: http://technet.microsoft.com/en-us/sms/bb676787.aspx
To maintain/review duplicate GUIDs going forward you should monitor the built in SCCM report called: Computers that may share the same SMS Unique ID each day as well as the membership of the duplicate guid collection you can create using the three queries below. Once both of these show 0 results, you will know that the issue is resolved but they should both still be monitored daily for any possible recurrence. (This collection should be updated several times per day (4-6) while we work this issue)
· Query 1:select SMS_R_System.ResourceID,SMS_R_System.ResourceType,SMS_R_System.Name,SMS_R_System.SMSUniqueIdentifier,SMS_R_System.ResourceDomainORWorkgroup,SMS_R_System.Client from SMS_R_System join SMS_GH_System_System on SMS_R_System.ResourceID = SMS_GH_System_System.ResourceID where SMS_R_System.Name <> SMS_GH_System_System.Name· Query 2:select SMS_R_System.ResourceID,SMS_R_System.ResourceType,SMS_R_System.Name,SMS_R_System.SMSUniqueIdentifier,SMS_R_System.ResourceDomainORWorkgroup,SMS_R_System.Client from SMS_R_System join SMS_G_System_System on SMS_R_System.ResourceID = SMS_G_System_System.ResourceID where SMS_R_System.Name <> SMS_G_System_System.Name· Query 3:select SMS_R_System.ResourceID,SMS_R_System.ResourceType,SMS_R_System.Name,SMS_R_System.SMSUniqueIdentifier,SMS_R_System.ResourceDomainORWorkgroup,SMS_R_System.Client from SMS_R_System where SMS_R_System.ResourceID in (select SMS_GH_System_System.ResourceID from SMS_G_System_System join SMS_GH_System_System on SMS_G_System_System.ResourceID = SMS_GH_System_System.ResourceID where SMS_G_System_System.Name <> SMS_GH_System_System.Name)
Query code is cut off on right side.
I was having a similar problem. I don't know that it was a duplicate, but there seemed to be a problem with the GUID, and the SID didn't match. I just removed the client, and deleted the server entry in SCCM. After I ran the discovery the server came back,
and I succesfully pushed the client. Not sure why that worked, but it did.