Lync/SfB Server: Checking for duplicate entries in the Active Directory Configuration Partition

While troubleshooting the issue described in Checking for “ms-RTC-SIP-TrustedServer” multiple Active Directory entries with PowerShell, we encountered more duplicates for the same server, so we decided to compile all in one place.

Like in our previous post Checks to do in the Lync/Skype4B Certificate Store, this list will also be updated and, again, you are welcome to add a comment with a test you think that should be included in it.

Note: Replace DC=gears,DC=lab with the value for your domain.

Global Setting (msRTCSIP-TrustedServer)

Get-ItemProperty -Path “AD:\CN=*,CN=Global Settings,CN=RTC Service,CN=Services,CN=Configuration,DC=gears,DC=lab” -Name cn,msRTCSIP-TrustedServerFQDN,objectClass,whenChanged | Group-Object -Property msRTCSIP-TrustedServerFQDN | Where-Object {$_.Count -gt 1} | Select-Object -ExpandProperty Group | ?{$_.objectClass -eq “msRTCSIP-TrustedServer”} | Select cn,msRTCSIP-TrustedServerFQDN,whenChanged | ft -AutoSize

Pools (msRTCSIP-PoolDisplayName)

Get-ItemProperty -Path “AD:\CN=*,CN=Pools,CN=RTC Service,CN=Services,CN=Configuration,DC=gears,DC=lab” -Name cn,msRTCSIP-PoolDisplayName,objectClass,whenChanged | Group-Object -Property msRTCSIP-PoolDisplayName | Where-Object {$_.Count -gt 1} | Select-Object -ExpandProperty Group | ?{$_.objectClass -eq “msRTCSIP-Pool”} | Select cn,msRTCSIP-PoolDisplayName,whenChanged | ft -AutoSize

Trusted MCUs (msRTCSIP-TrustedMCU)

Get-ItemProperty -Path “AD:\CN=*,CN=Trusted MCUs,CN=RTC Service,CN=Services,CN=Configuration,DC=gears,DC=lab” -Name cn,msRTCSIP-TrustedMCUFQDN,msRTCSIP-MCUType,objectClass,whenChanged | Group-Object -Property msRTCSIP-TrustedMCUFQDN,msRTCSIP-MCUType| Where-Object {$_.Count -gt 1} | Select-Object -ExpandProperty Group | ?{$_.objectClass -eq “msRTCSIP-TrustedMCU”} | Select cn,msRTCSIP-TrustedMCUFQDN,msRTCSIP-MCUType,whenChanged | ft -AutoSize

Trusted Services (msRTCSIP-TrustedService)

Get-ItemProperty -Path “AD:\CN=*,CN=Trusted Services,CN=RTC Service,CN=Services,CN=Configuration,DC=gears,DC=lab” -Name cn,msRTCSIP-TrustedServerFQDN,msRTCSIP-TrustedServiceType,objectClass,whenChanged | Group-Object -Property msRTCSIP-TrustedServerFQDN,msRTCSIP-TrustedServiceType | Where-Object {$_.Count -gt 1} | Select-Object -ExpandProperty Group | ?{$_.objectClass -eq “msRTCSIP-TrustedService”} | Select cn,msRTCSIP-TrustedServerFQDN,msRTCSIP-TrustedServiceType,whenChanged | ft -AutoSize

Trusted WebComponentsServers (msRTCSIP-TrustedWebComponentsServer)

Get-ItemProperty -Path “AD:\CN=*,CN=Trusted WebComponentsServers,CN=RTC Service,CN=Services,CN=Configuration,DC=gears,DC=lab” -Name cn,msRTCSIP-TrustedWebComponentsServerFQDN,objectClass,whenChanged | Group-Object -Property msRTCSIP-TrustedWebComponentsServerFQDN | Where-Object {$_.Count -gt 1} | Select-Object -ExpandProperty Group | ?{$_.objectClass -eq “msRTCSIP-TrustedWebComponentsServer”} | Select cn,msRTCSIP-TrustedWebComponentsServerFQDN,whenChanged | ft -AutoSize