2011-02-01 6 views
5

Bez względu na to, co staram się rzucić na nią, ta metoda tutaj zawsze skutkuje następującym wyjątkiem:Wywołanie ChangePassword z obiektu DirectoryEntry

  var retVal = this.DirectoryEntry.Invoke("ChangePassword", new object[] { oldPassword, newPassword }) == null; 

InnerException = { "Hasło nie spełnia zasad haseł Sprawdź minimalną długość hasła, złożoność hasła i wymagania dotyczące historii haseł. (Wyjątek od HRESULT: 0x800708C5) "}

Naturalnie sprawdziłem domyślną politykę domeny (nie znaleziono w mojej domenie testowej), zasady grupy OU (nie istnieje) i nie może znaleźć niczego, co mogłoby regulować zasady haseł, ale bez względu na to, jak długie i skomplikowane jest hasło ord do funkcji jest, powoduje to ten sam wyjątek. teraz najciekawsza część Czy kiedy zrobić to samo (na tym samym obiekcie DirectoryEntity i tego samego hasła), wywołując w ten sposób:

var retVal = this.DirectoryEntry.Invoke("SetPassword", new object[] { newPassword }) == null; 

Ostatnie wezwanie się powiedzie w/o żadnych problemów.

Odpowiedz

7

Istnieje szereg polityk grupowych wpłynie na złożoność hasła. Większość z nich jest domyślnie włączona po zainstalowaniu usługi Active Directory. Jeśli nigdy nie dotknąłeś ich po skonfigurowaniu domeny testowej, najprawdopodobniej te zasady dotyczące haseł nadal istnieją.

Oto jak wyglądają domyślne ustawienia bezpieczeństwa domeny mojej domeny testowej. Jeśli wcześniej tego nie zmieniałeś, powinna wyglądać podobnie.

Default Domain Security Settings

można znaleźć opisy szczegółów na każdej z polityk na MSDN. Zamieszczę tutaj podsumowanie i link.

Wszystkie powyższe ustawienia mogą być przyczyną tego błędu 0x800708C5. W szczególności, wydaje mi się, że jest to zasada haseł "minimalnego wieku hasła", która powoduje kłopoty. Domyślnie jest ustawiony na 1 dzień. Jeśli twoje konto testowe jest nowym kontem użytkownika utworzonym właśnie teraz, nie możesz zmienić hasła w tym samym dniu.

Teraz możesz pomyśleć, że w środowisku testowym powinieneś wyłączyć wszystkie te zasady dotyczące haseł do celów programistycznych. Nie zalecam po prostu nieokreślenia wszystkich polityk poprzez odznaczenie pola wyboru na stronach właściwości.Polecam następujące ustawienia.

Ostatnim krokiem, który należy wykonać, jest ponowne wprowadzenie zasad grupy do komputera. Pamiętaj, że zasady grupowe to ustawienia przechowywane w usłudze Active Directory. Zasady grupy urządzeń są stosowane podczas rozruchu komputera, a zasady grupy użytkowników są stosowane w czasie logowania użytkownika. Zasady haseł są jedną z zasad dotyczących maszyn. Teraz możesz albo ponownie uruchomić komputer, albo możesz przejść do wiersza poleceń i uruchomić gpupdate.

Mam nadzieję, że nie przegapiłem żadnych ważnych informacji. Daj mi znać, jeśli nadal nie działa :)

+0

dziękuję, przeprowadzę więcej testów i wkrótce się dowiesz. – dexter

Powiązane problemy