I worked hard (hardly worked) to get his requirement done.. ...though to share the code ,might be useful ...hmm..
'On Error Resume Next
Dim fso
Const ForReading = 1, ForWriting = 2 , forAppend = 8
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("Members.txt", forAppend, True)
' Determine DNS domain name.
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("defaultNamingContext")
' Use ADO to search Active Directory.
Set objCommand = CreateObject("ADODB.Command")
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject" objConnection.Open "Active Directory Provider" objCommand.ActiveConnection = objConnection
strBase = "<LDAP://" & strDNSDomain >"
' Filter on all user objects. strFilter = "(&(objectCategory=person)(objectClass=user))"
' Specify attribute values to retrieve.
strAttributes = "cn,distinguishedName,sAMAccountName,description,homeDirectory, mailnickName,mail,EmployeeNumber"
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree" objCommand.CommandText = strQuery
objCommand.Properties("Page Size") = 100
objCommand.Properties("Timeout") = 30
objCommand.Properties("Cache Results") = False
Set objRecordSet = objCommand.Execute
Do Until objRecordSet.EOF
strFullName = objRecordSet.Fields("cn")
strDN = objRecordSet.Fields("distinguishedName")
strNTName = objRecordSet.Fields("sAMAccountName")
strAlias = objRecordSet.Fields("mailnickName")
strmail = objRecordSet.Fields("mail")
strId= objRecordSet.Fields("EmployeeNumber")
strHomeDir = objRecordSet.Fields("homeDirectory")
If IsNull(strHomeDir) Then
strHomeDir = "None"
Else
strHomeDir = strHomeDir
End If
f.writeline strFullName & vbtab & strDN & vbtab & strNTName & vbtab & strHomeDir & vbtab & strAlias & vbtab & strmail & vbtab & strID
objRecordSet.MoveNext
Loop
MsgBox "Done"
Work is donee :0)
Thursday, February 5, 2009
Subscribe to:
Post Comments (Atom)
This comment has been removed by the author.
ReplyDelete