Hejsa.
Detaljerne fra .txt-filen burde være en formsag at lave, så jeg har ikke lavet dette, men der i mod et eksempel, hvor brugernavnene hentes fra et array. Men det burde være samme princip.
Option Explicit
Const strComputer = "."
Dim arrUsersToEdit, rootDSE, adoConnection, ldapStr, intCounter, adoRecords, objUser
ReDim arrUsersToEdit(3)
arrUsersToEdit(0) = "tmn"
arrUsersToEdit(1) = "sty"
arrUsersToEdit(2) = "jae"
Set rootDSE = GetObject("
LDAP://RootDSE")
Set adoConnection = CreateObject("ADODB.Connection")
adoConnection.Provider = "ADSDSOObject"
adoConnection.Open "ADs Provider"
For intCounter = 0 To UBound(arrUsersToEdit) -1
ldapStr = "<
LDAP://" & rootDSE.Get("defaultNamingContext") & ">;(&(objectCategory=Person)(objectClass=User)(samAccountName=" & arrUsersToEdit(intCounter) & "));adspath;subtree"
Set adoRecords = adoConnection.Execute(ldapStr)
While Not adoRecords.EOF
On Error Resume Next
Set objUser = GetObject (adoRecords.Fields(0).Value)
objUser.Put "telephoneNumber", "+45 12 34 56 78"
objUser.Put "mail", arrUsersToEdit(intCounter) & "@domain.local"
objUser.SetInfo
adoRecords.MoveNext
On Error GoTo 0
Wend
Next
Det kostede mig en del sved og tårer og jeg måtte kombinere et par eksisterende scripts med lidt info fra nettet for at få det til at virke, så jeg håber du (eller andre) stadig kan drage nytte af tråden her.