SELECT p.name AS GroupName,
IS_SRVROLEMEMBER('sysadmin', p.name) AS SysAdmin,
b.MemberName
INTO #temp
FROM sys.database_principals p
OUTER APPLY Util.[AD].[GetGroupMembers]('infosolco.net', p.name) b
WHERE p.TYPE = 'G'
AND p.NAME NOT LIKE 'NT SERVICE\%'
AND p.NAME NOT LIKE 'BUILTIN\%'
SELECT membername,
COUNT(DISTINCT groupname) AS GroupCount,
Util.dbo.StringConcat(DISTINCT groupname, ', ') AS GroupList
FROM #temp
GROUP BY membername
ORDER BY membername