Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE PROCEDURE [dbo].[NES_GetADGroupMembers]
- (@groupName VARCHAR(max))
- AS
- BEGIN
- CREATE TABLE #MemberOfGroups
- (
- groupName varchar(400),
- cn varchar(400),
- displayName varchar(400)
- )
- SET NOCOUNT ON
- DECLARE @t varchar(100), @t2 varchar(1000),
- @ot varchar (4000), @tt varchar (4000);
- DECLARE gC CURSOR FOR
- SELECT cn, distinguishedName
- FROM openquery (ADSI, 'SELECT cn, distinguishedName
- FROM ''''LDAP://Mydomaindomain/CN=users,DC=Mydomain,DC=com''''
- WHERE objectCategory = ''group''')
- OPEN gC
- FETCH NEXT FROM gC INTO @t, @t2
- WHILE @@FETCH_STATUS = 0
- BEGIN
- SET @ot = '''SELECT cn, displayName
- FROM ''''LDAP://Mydomaindomain/CN=users,DC=Mydomain,DC=com''''
- WHERE objectCategory = ''''Person'''' AND objectClass = ''''user''''
- AND memberOf=''''' + @t2 + '''''';
- SET @tt = 'select '+ ''''+@t+'''' +' As groupName, cn, displayName from openquery(ADSI,'+ @ot +''') order by cn'
- INSERT INTO #MemberOfGroups (groupName, cn, displayName)
- EXEC (@tt)
- FETCH NEXT FROM gC INTO @t, @t2
- END
- CLOSE gC
- DEALLOCATE gC
- SELECT
- groupName, displayName
- FROM
- #MemberOfGroups
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement