Problem

With the introduction of System Center Configuration Manager 2007 R3 -Delta Discovery and ‘unknown computer’ support there came along another issue; duplicate records. This is a timing issue.

If the Configuration Manager Active Directory System Discovery runs before the Config Manager Client it’ll create a duplicate. That is; if it finds the computer in Active Directory Domain Services it will create a DDR (Discovery Data Record) for Configuration Manager. It will then install the SCCM client and fail to merge the information with the other object – resulting in a duplicate record.

If the task sequence install the SCCM client and it reports back the SCCM site before the DDR is recorded it will have enough information to merge the two objects and everything is nice and dandy 🙂

Symptomes

Computers that are members of a collection with advertisements pointing to it will not appear in RAP. This is because the advertisement it tied to the bad record. The correct record will not see any of these until the bad record is deleted and Active Directory System Discovery is run again.

None of the records will be deleted by any maintenance tasks because the bad record will be held alive by the Active Directory System Discovery and the correct one by the heartbeat discovery.

How to solve it.

  1. Manually delete the object that doesn’t have the client installed – this is the bad record. Run the ‘Full Active Directory System Discovery’
  2. Create a script and add it to a filter rule that will start in the case of a system event 11171 (= task sequence completed successfully). Touch the computer object (edit|add a value on the computer object i Active Directory Domain Services) and let the Delta Discovery take care of updating the record.

Choose alternative 2! 🙂

Script

CMDWrapper.bat

 

DeleteDuplicateRecords.vbs


 

TouchComputerObject.exe

This is an .exe file created with C++ (I don’t have the source file at the moment, but I’ll try to get it and will post it if I do), but you can do it any way you please. All you have to do is to ‘touch’ the computer object by edit|add some information e.g.:
 
I think it is a way better solution to let ‘Delta Discovery’ run and update the SCCM record rather than running a ‘Full Active Directory System Discovery’ every time a task sequence has completed successfully!
 

Filter Rule

You want to create this rule as generic as possible in case you have a lot of different TS’s so the rule will apply to all. Otherwise you’ll have to create one rule for each advertisement!

Tagged with:
 

Leave a Reply