Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Option Explicit
- Const ForAppending = 8
- Const ForReading = 1
- Const ForWriting = 2
- Dim objOutput, objInput, fso, adoConnection, objRoot, objShell, strDomain, strBase, strLine, arrLine, objDomain, strFilter, strAttribs, strDepth, strQuery, adoRecordSet
- Dim bolFound, strGiven
- Set fso = CreateObject("Scripting.FileSystemObject")
- Set objInput = fso.OpenTextFile("C:\scripts\input.csv", ForReading)
- Set objOutput = fso.OpenTextFile("C:\scripts\output.txt", ForWriting, True)
- Set adoConnection = CreateObject("ADODB.Connection")
- Set objRoot = GetObject("LDAP://rootDSE")
- Set objShell = CreateObject("WScript.Shell")
- strDomain = objRoot.Get("defaultNamingContext")
- Set objDomain = GetObject("LDAP://" & strDomain)
- strBase = "<" & objDomain.ADsPath & ">"
- adoConnection.Open "Data Source=Active Directory Provider;Provider=ADsDSOObject"
- Do Until objInput.AtEndOfStream
- strLine = objInput.ReadLine
- arrLine = Split(strLine,",")
- 'wscript.echo arrLine(0) & " " & arrLine(1)
- strFilter = "(&(objectCategory=person)(objectClass=user)(sn=" & arrLine(0) & "))"
- strAttribs = "sAMAccountName,givenName"
- strDepth = "subTree"
- '
- ' 'Search the directory for the account name by last name
- strQuery = strBase & ";" & strFilter & ";" & strAttribs & ";" & strDepth
- Set adoRecordSet = adoConnection.Execute(strQuery)
- If adoRecordSet.recordCount = 0 Then
- wscript.echo arrLine(1) & " " & arrLine(0) & vbTab & "No users found."
- Else
- bolFound = 0
- While Not adoRecordSet.EOF
- strGiven = adoRecordSet.Fields("givenName").Value
- If strComp(strGiven,arrLine(1)) = 0 Then
- bolFound = 1
- objOutput.writeline adoRecordSet.Fields("sAMAccountName").Value
- End If
- adoRecordSet.MoveNext
- Wend
- if bolFound = 0 Then
- wscript.echo arrLine(1) & " " & arrLine(0) & " Could not match." & vbTab &_
- "found: " & strGiven & vbTab & "input:" & arrLine(1)
- End If
- End If
- Loop
- Set objOutput = Nothing
- Set objInput = Nothing
- Set fso = Nothing
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement