Ligger din webb på samma dator som active directory så är det bara att köra på med klassen DirectoryServices. Du letar fram personen och har då en DirectoryEntry på denna kör du sedan en Invoke för att komma åt metoder på AD objektet som du håller (i detta fall en person).
myDirEnt.Invoke("SetPassword", "newpasword");
(Scemat för alla properties och metoder i AD ska finnas på MS sida. Men mina favoriter fungerade inte, men de ska finnas där.)
Ligger din webbapplikation däremot på en annan dator så kan du automatiskt inte ändra något i AD eftersom du ej har tillåtelse att utföra saker mot den remote. Så då måste du göra så att ditt asp.net konto kan delegera ut rättigheter. Detta gör du genom att använda Kerebos inloggnig (Användarens MS nyckel sänds då över nätverket eller nått). Detta du ställer in i IIS:en, via Integrated Windows Authentication och genom att köra impersonate=true i webconfigen.
Sedan måste du ha ett konto som Asp.Net workprocessen skall köra under och på detta ställer du in att det ska delegera kontrol. Detta gör du ifrån Active Directory Users and Computers.
Mycket kortfattat hu du gör. Men att berätta exak hur alla inställningr sulle gå tillskulle kräva ett stort dokument....
