procedure SetAttrib(Obj: IADsUser; AttribName, AttribValue: string);
begin
try
obj.Put(AttribName, AtrtibValue);
except
// do nothing
end;
end;
var
sPathName: WideString;
aOU: IADsContainer;
aUser: IADsUser;
sPathName := 'CN=Users,DC=domain,DC=org';
try
ADsGetObject(sPathName, IADsContainer, aOU);
except
on E : Exception do begin
// always wrap ADSI actions in try..except blocks
end;
end;
try
aUser := aOU.Create('user', sCN) as IADsUser;
except
// skip
end;
if Assigned(aUser) then
try
SetAttrib(aUser, 'sAMAccountName', edtUsername.Text);
SetAttrib(aUser, 'givenName', edtVoorNaam.Text);
SetAttrib(aUser, 'sn', edtAchterNaam.Text);
SetAttrib(aUser, 'displayName', edtVolledigeNaam.Text);
SetAttrib(aUser, 'displayNamePrintable', edtSimpleDisplayName.Text);
SetAttrib(aUser, 'userPrincipalName', edtGebruikersNaam.Text);
SetAttrib(aUser, 'sAMAccountName', edtUsername.Text);
aUser.SetInfo;
except
// skip
end;
you can check it with www.sysinternals.com -> ADExplorer