Dynamics CRM Kullanıcılarına atanan bir rolün kim tarafından atandığının SQL ile sorgulanması.
Öncelikle Güvenlik Rolü (role) Entity’si üzerinde Denetim (Audit) aktifleştirilmeli.

Daha sonra yapılacak işlemlerde aşağıdaki sorguyu kullanarak rolü kimin verdiğini tespit edebilirsiniz.
select * ,
sb2.FullName as “Değişikliği yapan kullanıcı”
,case ab.Action when 33 then ‘Rol Verildi’ when 34 then ‘Rol Alındı’ else ” end as “Aksiyon”
,sb.FullName as “Değişiklik Yapılan Kullanıcı”
,rb.Name as “Rol Adı”
,ab.CreatedOn
from AuditBase AB
inner join SystemUser SB on sb.systemuserid=SUBSTRING(ab.ChangeData,CHARINDEX(‘,’,Ab.ChangeData) + 1,LEN(AB.ChangeData) – CHARINDEX(‘,’, AB.ChangeData))
inner join SystemUser SB2 on sb2.SystemUserId=ab.UserId
inner join RoleBase RB on RB.RoleId=Ab.ObjectId
where ObjectTypeCode=1036 –Security Role
and ab.Action in (33,34)
and ObJectID=’1E3AA434-3231-EE11-91C6-005056884813′ –Role’un ID si
order by ab.CreatedOn desc
Yorum gönder