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:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
|
" codeBody "
Class UserData
Openbare nGuid als Int64 = 0
Openbare csLogin als Koord = ""
Openbare csCommonName als Koord = ""
Openbare cUserGroups als Collections.Generic.List (van Koord)
De Klasse van het eind
Schemerige m_cUsersColl als Collections.Generic.SortedList (van Koord, UserData)
Sub ReadADUsers ()
Als Me.dc_address.Text = "" toen
MsgBox („de serveradres van het Tussenvoegsel“)
Sub van de uitgang
Eind als
Als Me.dc_path.Text = "" toen
MsgBox (de „weg van het Tussenvoegsel LDAP“)
Sub van de uitgang
Eind als
Als Me.dc_flt.Text = "" toen
MsgBox (de „filter van het Tussenvoegsel“)
Sub van de uitgang
Eind als
m_cUsersColl = Nieuwe Collections.Generic.SortedList (van Koord, UserData)
m_cUsersColl.Clear ()
Schemerige oRoot als DirectoryEntry = Nieuwe DirectoryEntry („LDAP: /“ & dc_address. Tekst & „/“ & dc_path. Tekst)
Schemerige oSearcher als DirectorySearcher = Nieuwe DirectorySearcher (oRoot)
Schemerige oResults als SearchResultCollection
Schemerige oResult als SearchResult
oSearcher.PageSize = 5000
Probeer
Verduister nUserCount = 0
oSearcher.Filter = dc_flt. Tekst
oSearcher.PropertiesToLoad.Add („uid“)
oSearcher.PropertiesToLoad.Add („cn“)
oSearcher.PropertiesToLoad.Add („sAMAccountName“)
oSearcher.PropertiesToLoad.Add („memberOf“)
oResults = oSearcher.FindAll ()
Voor Elke oResult in oResults
Als niet oResult.GetDirectoryEntry (). Eigenschappen („cn“). Waarde = "" toen
nUserCount = nUserCount + 1
Schemerige cUserData als UserData = Nieuwe UserData
cUserData.nGuid = oResult.GetDirectoryEntry (). Eigenschappen („uid“). Waarde
cUserData.csCommonName = oResult.GetDirectoryEntry (). Eigenschappen („cn“). Waarde
cUserData.csLogin = oResult.GetDirectoryEntry (). Eigenschappen („sAMAccountName“). Waarde
cUserData.cUserGroups = Nieuwe Collections.Generic.List (van Koord)
Het schemerige csGroupString als Koord = ""
Schemerige nMemberOfCnt = 0
Voor nMemberOfCnt = 0 aan oResult.GetDirectoryEntry (). Eigenschappen („memberOf“). Telling - 1
Schemerige csGroupName als Koord = C (oResult.GetDirectoryEntry (). Eigenschappen („memberOf“) (nMemberOfCnt), Koord)
Schemerige nStartIdx = csGroupName.IndexOf („=“, 1)
Schemerige nEndIdx = csGroupName.IndexOf („,“, 1)
het csGroupString = ""
Als nStartIdx > 0 en nEndIdx > 0 en nEndIdx > nStartIdx toen
het csGroupString = csGroupName.Substring (nStartIdx + 1, nEndIdx - nStartIdx - 1)
Eind als
Als het csGroupString <> "" toen
cUserData.cUserGroups.Add (het csGroupString)
Eind als
Daarna
m_cUsersColl.Add (cUserData.csLogin, cUserData)
Eind als
Daarna
MsgBox („gebeëindigd Onderzoek. Vond“ & nUserCount & „gebruikers. “)
Vangst ex als Uitzondering
MsgBox („Onderzoek met fout wordt onderbroken die: “ & ex. Bericht)
Het eind probeert
Sub van het eind
|