Como as Senhas Expiram?
Senhas expiram após um determinado período de tempo a partir da data de criação ou alteração da mesma. Por exemplo: A equipe de segurança decide que a partir de hoje as senhas dos usuários devem ser alteradas a cada 30 dias. O usuário que alterar sua senha hoje só será solicitado a troca-la daqui a 30 dias. Porém, o usuário que alterou sua senha semana passada, isto é, a 7 dias atrás, deverá altera-la novamente daqui a 23 dias. Usuários que alteraram sua senha a mais de 30 dias já serão solicitados a altera-la ainda hoje pois sua senha já expirou.
Desta forma fica impossível que o servidor solicite a troca da senha de todos os usuários ao mesmo tempo, afinal, cada conta teve sua senha alterada em diferentes datas. Precisamos então alterar a data de criação ou modificação da senha dos usuários para uma mesma data, e assim as senhas expirariam ao mesmo tempo
Como podemos alterar esta data?
Alterando o valor do atributo pwdLastSet na conta do usuário. Este atributo armazena a data em que a senha da conta foi criada ou modificada, porém só podemos utilizar os valores 0 ou -1. Não é possível alterar o campo para outro mesmo que este represente uma data e hora.
O valor 0 zera a data de alteração da senha, definido o valor do campo como "(nunca)". Então, só após a alteração da senha será definida a data de modificação pelo próprio sistema ao atributo pwdLastSet.
O valor -1 corresponde ao maior inteiro permitido a um atributo de 64-bit, 2^63-1. Isto fará com que o sistema preencha o atributo pwdLastSet com a data e hora atual.
Solução
Podemos alterar o atributo pwdLastSet das contas através do Console de Gerenciamento de Usuários e Computadores do Active Directory, ou via Power Shell Script.
Alterando via Console de Gerenciamento
1. Abra o Console de Gerenciamento de Usuários e Computadores do Active Directory e ative a opção Recursos Avançados (Advanced Features).
2. Abra as Propriedades de uma conta de usuário e clique na aba Editor de Atributos (Attribute Editor).
3. Desça até o atributo pwdLastSet, selecione-o e clique em Editar.
4. Altere o valor do campo para 0 (zero) e clique em OK.
5. Note que agora o valor do atributo é "(nunca)". Clique em OK novamente para confirmar e fechar a janela de Propriedades.
6. Abra novamente as Propriedades da conta, selecione a aba Editar Atributos e edite o campo pwdLastSet.
7. Altere o valor para -1, clique em OK para confirmar o valor e em OK novamente para fechar a janela de Propriedades.
8. Esta feito! Agora o valor do atributo pwdLastSet é a data a atual. Para conferir abra as Propriedades da conta, selecione a aba Editar Atributos e localize o campo pwdLastSet.
Alterando via PowerShell Script
1. Abra o console PowerShell e importe o módulo ActiveDirectory para carregar os cmdlets para esta sessão.
Import-Module ActiveDirectory
2. Execute o comando abaixo, substituindo a palavra nomedeusuario pelo SamAccountName da conta, para carregar o atributo pwdLastSet em uma variável.
$User = Get-ADUser nomedeusuario -properties pwdlastset
3. Defina o valor do atributo como 0 (zero) e confirme a alteração.
$User.pwdlastset = 0
Set-ADUser -Instance $User
Set-ADUser -Instance $User
4. Em seguida defina o valor para -1 e confirme a alteração.
$user.pwdlastset = -1
Set-ADUser -instance $User
Set-ADUser -instance $User
5. Esta feito! Agora o valor do atributo pwdLastSet é a data a atual. Para conferir, execute os comandos abaixo, substituindo a palavra nomedeusuario pelo SamAccountName da conta:
$user = Get-ADUser nomedeusuario -Properties pwdlastset
Get-Date($user.pwdlastset)
Get-Date($user.pwdlastset)
Estas e outras dicas aqui no IT Way of Life.
Gostou? Compartilhe!
Nenhum comentário:
Postar um comentário