Het begint al aardig te lukken in vb, het lijkt toch wel flink op delphi in veel opzichten. Alleen heb ik nog één vraagje.
ik heb een formuliertje gemaakt waar je gebruikers kan opzoeken en groepen etc. Alleen lukt het me niet om naar een combinatie van die 2 te zoeken.
Dit is wat ik nu in ieder geval heb:
In de textbox kan ik nu diverse filters invoeren om zo te zoeken in de active directory.
De volgende filters werken gewoon goed:
(&(objectCategory=group)(|(cn=p*))) Dit geeft dus alle groepen die beginnen met een p
(&(objectCategory=person)(|(cn=henk jansen))) Nu zie je dus iedereen die henk jansen heet.
opzich zou het met zo'n filter ook mogelijk moeten zijn om er achter te komen wie er allemaal lid zijn van een bepaalde groep.
Nu staan er op deze site diversee manieren om dit te doen:
http://www.rlmueller.net/ADOSearchTips.htm
maar als ik daar iets van probeer komen er gewoon geen resultaten zoals bijvoorbeeld deze:
Alle losse filters werken eigenlijk wel maar als je een combinatie wilt gaat het fout. Weet iemand hier een oplossing voor?
ik heb een formuliertje gemaakt waar je gebruikers kan opzoeken en groepen etc. Alleen lukt het me niet om naar een combinatie van die 2 te zoeken.
Dit is wat ik nu in ieder geval heb:
code:
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
| Imports System Imports System.DirectoryServices Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim rootEntry _ As New DirectoryEntry("GC://dc=domein,dc=local") Dim searcher As New DirectorySearcher(rootEntry) End Sub Private Sub BtZoekGroep_Click... Private Sub BtClearAll_Click_1... Private Sub BtToevoegen_Click... Private Sub BtZoekUser_Click... Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Results.Items.Clear() Dim rootEntry _ As New DirectoryEntry("GC://dc=domein,dc=local") Dim searcher As New DirectorySearcher(rootEntry) searcher.PropertiesToLoad.Add("cn") 'searcher.PropertiesToLoad.AddRange(New String() {"cn"}) 'would also work and saves you some code searcher.PageSize = 5 searcher.ServerTimeLimit = New TimeSpan(0, 0, 30) searcher.ClientTimeout = New TimeSpan(0, 10, 0) searcher.Filter = TextBox1.Text Dim queryResults As SearchResultCollection queryResults = searcher.FindAll() Dim result As SearchResult For Each result In queryResults Results.Items.Add(result.Properties("cn")(0)) Next End Sub End Class |
In de textbox kan ik nu diverse filters invoeren om zo te zoeken in de active directory.
De volgende filters werken gewoon goed:
(&(objectCategory=group)(|(cn=p*))) Dit geeft dus alle groepen die beginnen met een p
(&(objectCategory=person)(|(cn=henk jansen))) Nu zie je dus iedereen die henk jansen heet.
opzich zou het met zo'n filter ook mogelijk moeten zijn om er achter te komen wie er allemaal lid zijn van een bepaalde groep.
Nu staan er op deze site diversee manieren om dit te doen:
http://www.rlmueller.net/ADOSearchTips.htm
maar als ik daar iets van probeer komen er gewoon geen resultaten zoals bijvoorbeeld deze:
code:
1
2
| To return all users that are direct members of a specified group. You must specify the Distinguished Name of the group. Wildcards are not allowed: "(&(objectCategory=person)(objectClass=user)" _ & "(memberOf=cn=TestGroup,ou=Sales,dc=MyDomain,dc=com))" |
Alle losse filters werken eigenlijk wel maar als je een combinatie wilt gaat het fout. Weet iemand hier een oplossing voor?