Home Configuration Manager
Options

Duplicate deployed computer config items

Hello,

sccm creates frequently new hadware-id for computer items, that implies new "Microsoft.SystemCenter.ConfigurationManager.DeployedComputer" in scsm after sync. The new config items are more then less a duplicate of the old ones except the hardware-id. Does anyone made same experience, and how u solve that issue?

I read out that the hardware ID is a unique ID generated based upon the hardware components of a system. The exact algorithm used to generate the ID is not publicly documented or disclosed. Generally, it will change if some hardware component of the system is changed -- because the algorithm is not known, it's impossible to say what exactly will cause the ID to change so you just have to assume that any hardware change will cause it.

Best Answer

  • Options
    Adam_DzyackyAdam_Dzyacky Product Owner Contributor Monkey ✭✭✭✭✭
    Answer ✓

    You are correct, everyone using the SCCM connector will encounter this. Certainly those virtual environments as VMs would change their physical hosts whether it be on premise or in Azure. But if it's not VM related, then it's worth an examination of your SCCM processes first.

Answers

  • Options
    Adam_DzyackyAdam_Dzyacky Product Owner Contributor Monkey ✭✭✭✭✭

    I'm pretty sure what you're describing is the following behavior:


  • Options
    Steffen_DobritzSteffen_Dobritz Member IT Monkey ✭

    Hi Adam,

    thx for sharing the error pattern. Didn't find this post on my own. The issue you quoted is very close to mine, except that even the display name of the desktop PC didn't change. So I'm still wondering why sccm changes the Hardware-ID fequently. In the cleanup-script I replace the relationships where "Deployed-Computer" is a target and delete the relation between Windows Computer and Deployed Computer before deleting each Deployed-Computer. But I doubt doing the right thing there. It seems that the reimage process on sccm side, you talked about, is working wrong. So first I was searching if someone else running in same error pattern and hoped to find a description why sccm is doing so. Because if this is a regular process in sccm all people they use the sccm connector should end up with alot of duplicates.

    $computerClass = Get-SCSMClass -Name "Microsoft.Windows.Computer"
    $deployedClass = Get-SCSMClass -Name "Microsoft.SystemCenter.ConfigurationManager.DeployedComputer"
    $pcDepl = Get-SCSMClassInstance -Class $deployedClass
    
    foreach ($pc in $pcDepl){
       $whereTarget = Get-SCRelationshipInstance -TargetInstance $pc
       $winPC = Get-SCSMClassInstance -Class $computerClass | ?{$_.DisplayName -eq $pc.DisplayName}
       foreach ($item in $whereTarget){
           $relType=Get-SCRelationship -Id $item.RelationshipID
           $rel = Get-SCRelationship -Name $relType.Name
           New-SCRelationshipInstance -RelationshipClass $rel -Source $item.SourceObject -Target $winPC
           Remove-SCSMRelationshipInstance -Instance $item
       }
       $whereSource = Get-SCRelationshipInstance -SourceInstance $pc
       $whereSource | %{Remove-SCSMRelationshipInstance -Instance $_}
       Remove-SCSMClassInstance -Instance $pc
    }
    


  • Options
    Adam_DzyackyAdam_Dzyacky Product Owner Contributor Monkey ✭✭✭✭✭
    Answer ✓

    You are correct, everyone using the SCCM connector will encounter this. Certainly those virtual environments as VMs would change their physical hosts whether it be on premise or in Azure. But if it's not VM related, then it's worth an examination of your SCCM processes first.

Sign In or Register to comment.