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
| const FileName = "d:\groupmembers.csv"
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider="ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.CommandText = "SELECT Name, Location, member FROM 'LDAP://DC=D11130100,DC=cpam-marseille,DC=cnamts,DC=fr'" & "WHERE objectClass='Group'"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Timeout") = 30
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.Properties("Cache Results") = False
set objFSO = createobject("scripting.filesystemobject")
set objFile = objFSO.createtextfile(FileName)
Set ObjRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
objFile.WriteLine objRecordSet.Fields("Name")
arrMembers = objRecordSet.Fields("member")
If IsArray(arrMembers) Then
For Each strMember In arrMembers
membersFilter = Replace(strMember, "CN=", "")
membersFilter = Replace(membersFilter, ",", "")
membersFilter = Replace(membersFilter, "ForeignSecurityPrincipalsDC=D11130100DC=cpam-marseilleDC=cnamtsDC=fr", "")
membersFilter = Replace(membersFilter, "=PostesDC=D11130100DC=cpam-marseilleDC=cnamtsDC=fr", "")
membersFilter = Replace(membersFilter, "=PortablesDC=D11130100DC=cpam-marseilleDC=cnamtsDC=fr", "")
objFile.WriteLine(Replace(membersFilter, "UsersDC=D11130100DC=cpam-marseilleDC=cnamtsDC=fr",""))
Next
End If
objFile.WriteLine ""
objRecordSet.MoveNext
Loop
objFile.Close |
Partager