Hola amigos. Estoy haciendo una aplicacion que me permita modificar varias cosas de los usuarios que estan en el LDAP y en Dominios WiNNT. Todo iba bien, excepto que cuando fuy a ver como establecer/leer el atributo "User cannot changue password" me encontre con que no se modificaba directamente en el atributo. Me puse a buscar y encontre como se hace pero los codigos son en VIsual Basic o C#. Alguien pudiera ayudarme con esto?. Aca les dejo los codigos que no me funcionan y los links a los sitios que hablan de como modificar este parametro mediante programacion. Gracias desde ya...
Código Delphi
[-]
procedure (...)
var
Usr: IADsUser;
dominio, usuario: string;
begin
dominio := 'clubdelphi.com';
usuario := 'fide_uci';
try
ADsGetObject('WinNT://' + dominio + '/' + usuario, IADsUser, usr);
Assert(usr <> nil);
if chk_no_pass_expire.Checked then
Usr.Put('UserFlags', Usr.Get('UserFlags') OR ADS_UF_PASSWD_CANT_CHANGE)
else
Usr.Put('UserFlags', Usr.Get('UserFlags') XOR ADS_UF_PASSWD_CANT_CHANGE);
Usr.SetInfo;
except
on E: EOleException do begin
chk_no_pass_chang.Checked := not (chk_no_pass_chang.Checked);
if E.ErrorCode = -2147024891 then
Application.MessageBox('Ha ocurrido un error al intentar ejecutar esta acción debido a que no tiene los privilegios suficientes.', 'Error', MB_OK + MB_ICONERROR)
else
ShowMessage(E.Message);
end;
end;
Aca los Links de algunas de las paginas que explican como se hace esto actualmente. Creo que los codigos esos que puse ahi funcionan con Windows 2000, pero ya con Windows 2003 Server es de otra forma que es la que explican en estos links, con las ACL.
http://support.microsoft.com/kb/301287
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
http://www.experts-exchange.com/OS/M..._24902648.html
http://support.microsoft.com/kb/305144
http://msdn.microsoft.com/en-us/library/Aa746398
http://msdn.microsoft.com/en-us/library/ms677840
Por fis esto y otras pocas cositas son las que me faltan para terminar este proyecto que estoy haciendo. Cuando lo termine quisiera subirlo a clubdelphi para que otras personas que quieran aprender sobre LDAP, ADSI y todas estas cuestiones lo tengan a mano como una referencia para estudiar o para comenzar.