Почему при сбросе пароля 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 Исключение было поднято в этой ситуации.

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

1 ответ

Решение

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

Другие вопросы по тегам