Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. CREATE PROCEDURE [dbo].[NES_GetADGroupMembers]
  2. (@groupName VARCHAR(max))
  3. AS
  4. BEGIN
  5. CREATE TABLE #MemberOfGroups
  6. (
  7. groupName varchar(400),
  8. cn varchar(400),
  9. displayName varchar(400)
  10. )
  11.  
  12. SET NOCOUNT ON
  13.  
  14. DECLARE @t varchar(100), @t2 varchar(1000),
  15. @ot varchar (4000), @tt varchar (4000);
  16.  
  17. DECLARE gC CURSOR FOR
  18. SELECT cn, distinguishedName
  19. FROM openquery (ADSI, 'SELECT cn, distinguishedName
  20. FROM ''''LDAP://Mydomaindomain/CN=users,DC=Mydomain,DC=com''''
  21. WHERE objectCategory = ''group''')
  22.  
  23. OPEN gC
  24.  
  25. FETCH NEXT FROM gC INTO @t, @t2
  26.  
  27. WHILE @@FETCH_STATUS = 0
  28. BEGIN
  29. SET @ot = '''SELECT cn, displayName
  30. FROM ''''LDAP://Mydomaindomain/CN=users,DC=Mydomain,DC=com''''
  31. WHERE objectCategory = ''''Person'''' AND objectClass = ''''user''''
  32. AND memberOf=''''' + @t2 + '''''';
  33.  
  34. SET @tt = 'select '+ ''''+@t+'''' +' As groupName, cn, displayName from openquery(ADSI,'+ @ot +''') order by cn'
  35.  
  36. INSERT INTO #MemberOfGroups (groupName, cn, displayName)
  37. EXEC (@tt)
  38.  
  39. FETCH NEXT FROM gC INTO @t, @t2
  40. END
  41.  
  42. CLOSE gC
  43. DEALLOCATE gC
  44.  
  45. SELECT
  46. groupName, displayName
  47. FROM
  48. #MemberOfGroups
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement