Это выигрышная форма, которую я собираю из .Net, и мне нужно получить членов каждой группы безопасности. Некоторые из наших групп безопасности имеют подгруппы, и мне нужно, чтобы программа могла их различать и проходить через членов подгруппы.
Вот мой код:
Dim thisDL As String = cmbADGroups.GetItemText(cmbADGroups.SelectedItem)
Dim dn As String = "CN=" & thisDL & ",OU=DistributionLists,DC=ThisDC,DC=com"
Dim ctx As PrincipalContext = New PrincipalContext(ContextType.Domain)
Dim group As GroupPrincipal = GroupPrincipal.FindByIdentity(ctx, 3, dn)
Dim members As PrincipalSearchResult(Of Principal) = group.GetMembers()
Dim PersonList = (From m In members
Order By m.DisplayName
Select New OaklawnPerson With {.userFullName = m.DisplayName,
.userID = m.SamAccountName,
.userEmail = m.UserPrincipalName,
.userFirstName = m.DisplayName.Split(",").Last()}).ToList
dgvSearchResults.DataSource = OaklawnPersonList
Мой вопрос:
Это работает, когда нет подсписков, но когда есть один или несколько подсписков, мне нужно определить, что это действительно подсписок, и получить членов из него (и даже если есть подпунктподпункт).
Я не прошу никого писать код для меня, но, возможно, укажет мне направление, в котором я должен идти. Спасибо за информацию