Special SQL-Query:
1. Show only when more 5 levels nested groups - such usage of AD in not recommended
2. Add groups domain for forest and trust domain
Select Top 1000000 tblADObjects.domain,
tblADObjects.sAMAccountName,
(Select tblADObjects.domain From tblADObjects
Where tblADObjects.ADObjectID = tblADGroups1.ADObjectID) As Domain_L1,
tblADGroups1.Name As Group_L1,
(Select tblADObjects.domain From tblADObjects
Where tblADObjects.ADObjectID = tblADGroups2.ADObjectID) As Domain_L2,
tblADGroups2.Name As Group_L2,
(Select tblADObjects.domain From tblADObjects
Where tblADObjects.ADObjectID = tblADGroups3.ADObjectID) As Domain_L3,
tblADGroups3.Name As Group_L3,
(Select tblADObjects.domain From tblADObjects
Where tblADObjects.ADObjectID = tblADGroups4.ADObjectID) As Domain_L4,
tblADGroups4.Name As Group_L4,
(Select tblADObjects.domain From tblADObjects
Where tblADObjects.ADObjectID = tblADGroups5.ADObjectID) As Domain_L5,
tblADGroups5.Name As Group_L5,
(Select tblADObjects.domain From tblADObjects
Where tblADObjects.ADObjectID = tblADGroups6.ADObjectID) As Domain_L6,
tblADGroups6.Name As Group_L6,
(Select tblADObjects.domain From tblADObjects
Where tblADObjects.ADObjectID = tblADGroups7.ADObjectID) As Domain_L7,
tblADGroups7.Name As Group_L7
From tblADObjects
Inner Join tblADMembership On tblADObjects.ADObjectID =
tblADMembership.ChildAdObjectID
Inner Join tblADGroups tblADGroups1 On tblADMembership.ParentAdObjectID =
tblADGroups1.ADObjectID
Inner Join tblADusers On tblADObjects.ADObjectID = tblADusers.ADObjectID
Left Join tblADMembership tblADMembership1 On tblADGroups1.ADObjectID =
tblADMembership1.ChildAdObjectID
Left Join tblADGroups tblADGroups2 On tblADMembership1.ParentAdObjectID =
tblADGroups2.ADObjectID
Left Join tblADMembership tblADMembership2 On tblADGroups2.ADObjectID =
tblADMembership2.ChildAdObjectID
Left Join tblADGroups tblADGroups3 On tblADMembership2.ParentAdObjectID =
tblADGroups3.ADObjectID
Left Join tblADMembership tblADMembership3 On tblADGroups3.ADObjectID =
tblADMembership3.ChildAdObjectID
Left Join tblADGroups tblADGroups4 On tblADMembership3.ParentAdObjectID =
tblADGroups4.ADObjectID
Left Join tblADMembership tblADMembership4 On tblADGroups4.ADObjectID =
tblADMembership4.ChildAdObjectID
Left Join tblADGroups tblADGroups5 On tblADMembership4.ParentAdObjectID =
tblADGroups5.ADObjectID
Left Join tblADMembership tblADMembership5 On tblADGroups5.ADObjectID =
tblADMembership5.ChildAdObjectID
Left Join tblADGroups tblADGroups6 On tblADMembership5.ParentAdObjectID =
tblADGroups6.ADObjectID
Left Join tblADMembership tblADMembership6 On tblADGroups6.ADObjectID =
tblADMembership6.ChildAdObjectID
Left Join tblADGroups tblADGroups7 On tblADMembership6.ParentAdObjectID =
tblADGroups7.ADObjectID
Where tblADGroups6.ADObjectID Is Not Null
Order By Group_L7 Desc,
Group_L6 Desc,
Group_L5 Desc,
Group_L4 Desc,
Group_L3 Desc,
Group_L2 Desc,
Group_L1 Desc