我试图从广告组中获取描述的值,我可以使用广告来单独查看值,但是我正在编写一个小型应用程序,其中列出了单个用户的所有组和描述。
图片显示了我希望从中提取数据的字段
这是我到目前为止的代码:
作为新DirectoryEntry()昏暗 de.Path =“ LDAP:// {domain}”
Dim searcher As New DirectorySearcher(de)
searcher.Filter = String.Format("(&(objectClass=user)(objectCategory=person)(sAMAccountName={0}))", {search string for target user})
searcher.PropertiesToLoad.AddRange(New String() {"memberOf"})
将结果作为SearchResultCollection =无
Try
results = searcher.FindAll()
If (results.Count > 0) Then
Dim result As SearchResult = results(0)
For Each role As String In result.Properties("memberOf")
If role.StartsWith("CN=RG_") Then
{在这里我要检索描述值}
End If
Next
End If
Catch ex As Exception
Throw ex
Finally
If (Not results Is Nothing) Then
results.Dispose()
End If
searcher.Dispose()
End Try
答案 0 :(得分:0)
我休息了一下,看着屏幕,在做另一项平凡的任务时,我发现自己很愚蠢。答案很简单……我正在搜索错误的对象类:
searcher.Filter = String.Format("(&(objectClass=group)(CN=" & groupname & "))".Replace("\", "\\"))
searcher.PropertiesToLoad.AddRange(New String() {"description"})
因此,我针对用户进行搜索,如果我想要描述,那么对于返回的每个组,我只需使用新过滤器运行另一个查询即可。