2014-09-04 1 views
0

Запись приложения vb.net, которому необходимо отобразить список динамических групп рассылки Active Directory. Приведенный ниже код работает при получении списка групп - но ничего не возвращает, когда я добавляю OU = DynamicDistributionGroups в определение контекста. Можно ли получить динамические группы распределения с помощью GroupPrincipal? Предложения приветствуются? БлагодаряКак получить динамические группы рассылки Active Directory с помощью принципа PrincipalContext?

Using ctx As New PrincipalContext 
(ContextType.Domain, "MYLAN", "OU=DynamicDistributionGroups,OU=Email 
Groups,DC=mylan,DC=ac,DC=mycompany,DC=com") 

Dim pGroup As New GroupPrincipal(ctx) 
pGroup.Name = "*" 
Dim pSearcher As New PrincipalSearcher() 
pSearcher.QueryFilter = pGroup 
Dim results As PrincipalSearchResult(Of Principal) = pSearcher.FindAll() 
For Each p As Principal In results 
    listGroup.Items.Add(p.ToString()) 
Next 
End Using 

ответ

0

Я был в состоянии выполнить эту задачу с помощью DirectorySearcher, а не главного контекста следующим образом:

Dim results As SearchResultCollection 
Dim srch As New DirectorySearcher("LDAP://MYLAN/OU=DynamicDistributionGroups,OU=Email  
Groups,DC=mylan,DC=ac,DC=mycompany,DC=com") 
srch.Filter = "(objectClass=msExchDynamicDistributionList)" 
srch.PropertiesToLoad.Add("displayName") 
srch.PageSize = 1000 
results = srch.FindAll() 
For Each result As SearchResult In results 
    Dim props As ResultPropertyCollection = result.Properties 
    For Each propName As String In props.PropertyNames 
     Dim groupName As String = props(propName)(0) 
    Next 
Next 
Смежные вопросы