Назад | Перейти на главную страницу

Почему при сбросе пароля Active Directory игнорируется правило подсчета истории паролей?

У меня есть ситуация, когда домен AD, с которым я работаю, имеет достаточно разумную политику паролей (например, достаточно высокий PasswordHistoryCount, MinPasswordLength настройки и т. д.). Я могу достаточно легко изменить пароль данного пользователя через PowerShell, используя Set-ADAccountPassword командлет, например:

Set-ADAccountPassword
    -Identity "Forename.Surname"
    -NewPassword (ConvertTo-SecureString -AsPlainText "incorrectp0nypetrolnail" -Force)
    -OldPassword (ConvertTo-SecureString -AsPlainText "correcth0rsebatterystaple" -Force)

Вышеупомянутое также вызывает ADPasswordComplexityException исключение, когда политика паролей нарушается при попытке повторно использовать пароль, то есть с сообщением:

"The password does not meet the length, complexity, or history requirement of the domain."

Однако политика истории паролей не применяется при сбросе паролей. Это происходит либо при использовании пользовательского интерфейса «Пользователи и компьютеры Active Directory», либо при использовании Set-ADAccountPassword такой командлет (предположим, что пароль, указанный ниже, ранее использовался пользователем):

Set-ADAccountPassword
    -Identity "Forename.Surname"
    -Reset
    -NewPassword (ConvertTo-SecureString -AsPlainText "correcth0rsebatterystaple" -Force)

Я ожидал того же ADPasswordComplexityException исключение, возникшее в этой ситуации.

Итак - есть ли способ предотвратить повторное использование пользователем паролей при сбросе пароля? Если нет, то каковы разумные причины для этого?

Это ожидаемое поведение и задумано. Административные сбросы не зависят от возраста или истории болезни.