У меня есть ситуация, когда домен 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 Users and Computers", либо при использовании командлета, Set-ADAccountPassword
например, такого (предположим, что указанный ниже пароль ранее использовался пользователем):
Set-ADAccountPassword
-Identity "Forename.Surname"
-Reset
-NewPassword (ConvertTo-SecureString -AsPlainText "correcth0rsebatterystaple" -Force)
Я ожидал, ADPasswordComplexityException
что в данной ситуации будет выдвинуто такое же исключение.
Итак - есть ли способ запретить пользователю повторно использовать пароли при сбросе пароля? Если нет, то каковы разумные причины разрешить это?
решение1
Это ожидаемое поведение, и оно задумано. Административные сбросы не зависят от возраста или истории.