Advertisement
| 12.01.2008 at 01:53PM PST, ID: 23948194 |
|
[x]
Attachment Details
|
||
|
[x]
The Solution Rating System
|
||
With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.
Your Input Matters If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support. Thank you! |
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: |
Public Function GetAdsGroupMembers(ByVal Group As String, ByVal Inherited_Groups As Boolean) As List(Of String)
Dim newGroup() As String
Dim tempGroup As String = ""
GetAdsGroupMembers = New List(Of String)
If Group = "" Then
Exit Function
End If
' Proxy AD username and password to get us access to the ADS
Dim userAccount As New DirectoryServices.DirectoryEntry(_ldapDomain, _username, _password)
Using userAccount
Dim mySearcher As New System.DirectoryServices.DirectorySearcher(userAccount)
Dim attributeWithRange As String = "" ' String.Format(";member;range={0}-{1};subtree", 1, 500)
mySearcher.PropertiesToLoad.Add("member")
Using mySearcher
Dim result As System.DirectoryServices.SearchResult
mySearcher.Filter = String.Format("(&(objectCategory=group)(sAMAccountName= {0}))" & attributeWithRange, Group)
' Get all of the users groups and then use recursion to go through all of those groups
For Each result In mySearcher.FindAll
For Each member As String In result.GetDirectoryEntry().Properties("member")
newGroup = member.ToString.Split("=")
tempGroup = Left(newGroup(1), Len(newGroup(1)) - 3)
tempGroup = LCase(tempGroup)
If _tempAdsGroups.Contains(tempGroup) = False Then
_tempAdsGroups.Add(tempGroup)
Else
GoTo 10
End If
If Inherited_Groups = True And member.ToLower.Contains("ou=accounts") = False Then
Dim temp As List(Of String) = GetAdsGroupMembers(tempGroup, True)
For Each i As String In temp
If _tempAdsGroups.Contains(i) = False Then
_tempAdsGroups.Add(i)
Else
GoTo 10
End If
Next
End If
10: Next
Next
End Using
End Using
GetAdsGroupMembers = _tempAdsGroups
End Function
|
Advertisement