Public Function GetGroups() As List(Of String) Dim objADAM As DirectoryEntry Dim objGroupEntry As DirectoryEntry Dim objSearchADAM As DirectorySearcher Dim objSearchResults As SearchResultCollection Dim strPath As String Dim result As New List(Of String) strPath = "LDAP://Domain.local" Try objADAM = New DirectoryEntry(strPath) objADAM.RefreshCache() Catch e As Exception Throw e End Try Try objSearchADAM = New DirectorySearcher(objADAM) objSearchADAM.Filter = "(&(objectClass=group))" objSearchADAM.SearchScope = SearchScope.Subtree objSearchResults = objSearchADAM.FindAll() Catch e As Exception Throw e End Try Try If objSearchResults.Count <> 0 Then Dim objResult As SearchResult For Each objResult In objSearchResults objGroupEntry = objResult.GetDirectoryEntry result.Add(objGroupEntry.Name) Next objResult Else Throw New Exception("No groups found") End If Catch e As Exception Throw New Exception(e.Message) End Try Return result End Function Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click For Each group As String In GetGroups() lstGroups.Items.Add(group) Next End Sub
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)