Overview
I recently had an issue with SCSM whereby a customer had multiple user CIs that had an email address configured in Active Directory, however their Notification Endpoint (email address) field was not updating in the SCSM console. The end result was that the user wasn’t being sent workflow or subscription emails.
After a lot of investigation and everything looking okay in terms of AD Connector settings I had to get Microsoft involved to investigate. Microsoft were able to provide a solution to this issue, however they were not able to provide the exact steps that they completed as it involved changes to the database. If completed yourself incorrectly this could effectively void any support that Microsoft could provide you with. Therefore, my recommendation would be to call Microsoft rather than try and fix this yourself.
Fixing the issue
The following were the steps required to resolve the issue, as above I DO NOT advise you complete this work yourself as the steps are not complete, this is just for information:
- Take a backup of the SCSM Databases (as always)
- Open SCSM Powershell and import the SMLets module
- Remove ALL of the objects of System Notification Endpoint Class using the following command
Import-Module Smlets
Get-SCSMObject –Class (Get-SCSMClass –Name System.Notification.Endpoint$) | Remove-SCSMObject -Force - Verify that the objects were marked for deletion in the ServiceManager DB using these queries
select * from RelationshipType with (nolock) where RelationshipTypeName= 'System.UserHasPreference' select * from Relationship with (nolock) where RelationshipTypeId = '649E37AB-BF89-8617-94F6-D4D041A05171' select * from BaseManagedEntity where BaseManagedtypeId = 'C08E20E3-C0FE-66B8-8C12-BCC1F3F11D5D' select * from TypedManagedEntity where ManagedTypeId = 'C08E20E3-C0FE-66B8-8C12-BCC1F3F11D5D' select * from ManagedType where ManagedTypeId = 'C08E20E3-C0FE-66B8-8C12-BCC1F3F11D5D'
- Groom the objects manually once they are marked for deletion. This is the part that Microsoft were not able to provide further information on as they said that this was tricky to complete.
- Reset the Datasource Watermark and run the AD connector again to pull the Notification Endpoints back in
-- Execute the following SQL Query to find the DataSourceID number for the AD Connector that is used to bring the users into SM Use ServiceManager Select * from LFX.datasource -- Update the line below replacing # with the corresponding AD connector DataSourceID from above to reset the AD Watermark for that connector. exec [LFX].[ResetWatermarkForDataSource] #,'erroroutput'