У меня есть ситуация, когда домен 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
исключение, возникшее в этой ситуации.
Итак - есть ли способ предотвратить повторное использование пользователем паролей при сбросе пароля? Если нет, то каковы разумные причины для этого?
Это ожидаемое поведение и задумано. Административные сбросы не зависят от возраста или истории болезни.