Почему при сбросе пароля 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 ответ
Это ожидаемое поведение и по замыслу. Административные сбросы не подлежат возрасту или истории требований.