Discovered a nasty bug in Service Manager 2012 after one of our Developers moved to a new manager. While AD managed the change and modified his manager accordingly, SCSM stopped associating his Review Activities (RA) with the new or old manager name. It displayed a blank entry and the manager would never see the approval email.
We deployed a service offering where code deployers request access to production servers (Add User to Local Admin runbook) and, after managers approval, the access is granted for a specific period. At the end of that period, the user is automatically removed. The user token taken from the portal is added to the Service Request (SR) and the RA automatically associates the user’s manager as the approving authority.
When the user moved to another group, SCSM 2012 lost the association to the new and old manager.
My team (Will S. took ownership and hit a home run for us) opened a ticket with MS Premier Support and below is the solution Ruth provided (Good job Ruth!).
When one user submitted a service request with a review activity including “Line Manager Should review” the “Reviewers” field was populated but the manager name for this user was blank. This would stall the RA until you manually updated the manager field, thus delaying what should be an automated process.
Ultimately, it was found that this user’s manager had changed at some point since the initial import into Service Manager and the previous manager relationship was not removed. The user appeared to have 2 managers, which when the Line Manager was added, Service Manager tried to add both, and eventually neither were added.
To resolve this issue, you obtain the relationship type and then the relationship instance from the Service Manager database.
/** Change username to the impacted user**/
select R.RelationshipId, R.IsDeleted, BMEuser.DisplayName as username, BMEmgr.DisplayName as manager
from BaseManagedEntity BMEuser
join Relationship R
join BaseManagedEntity BMEmgr
where R.RelationshipTypeId=’4A807C65-6A1F-15B2-BDF3-E967E58C254A’ /**This is the Employee Has Manager relationship GUID used by SCSM 2012**//
and BMEuser.Name like ‘%username%’
If there is more than one manager entry, use the RelationshipID for the invalid manager in the below Powershell removal command.
Get-screlationshipinstance -id “E20E4F3D-6CBC-93CF-CE51-C57059226CD3″ | remove-screlationshipinstance -confirm
Future RA’s should reflect the correct manager’s name.