Hallo allen,
Ik krijg een essentieel stukje code niet werkend! Onderstaande code is het relevante gedeelte vanuit een script die ik via internet heb gevonden, maar ik krijg elke keer de melding "Groupmemberships could not be retrieved"
Vergeet ik iets aan te passen in de functie?! Ik hoop dat iemand mij hiermee kan helpen!
De functie zelf:
Ik krijg een essentieel stukje code niet werkend! Onderstaande code is het relevante gedeelte vanuit een script die ik via internet heb gevonden, maar ik krijg elke keer de melding "Groupmemberships could not be retrieved"
Vergeet ik iets aan te passen in de functie?! Ik hoop dat iemand mij hiermee kan helpen!
code:
1
2
3
| If Not Getgroups Then
FatalError ("Groupmemberships could not be retrieved")
End If |
De functie zelf:
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
| Function GetGroups
Dim strNamingContext,objRootDSE,objConnection,objCommand
Dim objRecordSet,sAdsPath,ADsObject,Group,arrMemberOf,strComma
'on Error Resume Next
Set oUserGroups = CreateObject("Scripting.Dictionary")
oUserGroups.CompareMode = vbTextCompare
Set objRootDSE = GetObject("LDAP://RootDSE")
strNamingContext= objRootDSE.Get("DefaultNamingContext")
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "ARENA.LOCAL"
Set objCommand.ActiveConnection = objConnection
objCommand.CommandText = _
"Select ADSPath,Name from 'LDAP://" & strNamingContext & "'" _
& " where objectClass='user' and sAMAccountname='" & strUser & "' "
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Timeout") = 30
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.Properties("Cache Results") = False
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
sAdsPath=objRecordSet.Fields("ADSPath")
Set ADsObject = GetObject(sADsPath)
arrMemberOf = ADsObject.GetEx("memberOf")
getgroups=True
If Err.Number <> E_ADS_PROPERTY_NOT_FOUND Then
For Each Group in arrMemberOf
'writeoutput Group
'converting to friendly format
strcomma=instr(group,",")
group=mid(group,4,strcomma-4)
'writeoutput group
oUserGroups.Add Group, "-"
Next
Else
Getgroups=False
End If
End Function 'GetGroups |