Tenho uma situação em que um domínio AD com o qual estou trabalhando possui uma política de senha sensata o suficiente (por exemplo, configurações suficientemente altas PasswordHistoryCount
, MinPasswordLength
etc.). Posso alterar a senha de um determinado usuário via PowerShell com bastante facilidade usando o Set-ADAccountPassword
cmdlet, da seguinte forma:
Set-ADAccountPassword
-Identity "Forename.Surname"
-NewPassword (ConvertTo-SecureString -AsPlainText "incorrectp0nypetrolnail" -Force)
-OldPassword (ConvertTo-SecureString -AsPlainText "correcth0rsebatterystaple" -Force)
O acima também levanta uma ADPasswordComplexityException
expectativa quando a política de senha é violada ao tentar reutilizar uma senha, ou seja, com a mensagem:
"The password does not meet the length, complexity, or history requirement of the domain."
No entanto, a política de histórico de senhas não é aplicada quando as senhas são redefinidas. Isso ocorre ao usar a interface do usuário "Usuários e Computadores do Active Directory" ou ao usar o Set-ADAccountPassword
cmdlet dessa forma (suponha que a senha abaixo tenha sido usada anteriormente pelo usuário):
Set-ADAccountPassword
-Identity "Forename.Surname"
-Reset
-NewPassword (ConvertTo-SecureString -AsPlainText "correcth0rsebatterystaple" -Force)
Eu esperaria que a mesma ADPasswordComplexityException
exceção tivesse sido levantada nesta situação.
Então - existe alguma maneira de impedir que um usuário reutilize senhas quando uma redefinição de senha for feita? Se não, quais são as razões sensatas para permitir isso?
Responder1
Esse é o comportamento esperado e ocorre intencionalmente. As redefinições administrativas não estão sujeitas a requisitos de idade ou histórico.