Como posso randomizar ou escalonar a expiração de senhas através do Active Directory?

2

Estamos prestes a implementar uma nova política de senha que exigirá que os usuários alterem sua senha a cada seis meses. Também precisamos que todos os usuários alterem sua senha esta semana. Prefiro não criar um frenesi bienal de mudança de senha e prefiro randomizar ou escalonar a data de expiração da senha.

Eu recebo um erro ao tentar modificar a propriedade pwdLastSet na edição ADSI. Parece que a propriedade pode ser somente leitura. Se eu puder escrever para ele, não tenho certeza se modificar diretamente a propriedade pwdLastSet terá algum efeito negativo.

Considerei implementar várias políticas de senha, mas pelo que li, várias políticas de senha não são suportadas no DFL 2003, o que exigiria uma atualização (embora possa fazer uma desculpa meio decente para finalmente atualizar.)

Como posso evitar uma mudança de senha da empresa toda semana que ocorre a cada seis meses, quando todos os usuários exigem uma alteração de senha imediatamente?

    
por Tanner Faulkner 12.04.2013 / 19:13

2 respostas

1

Existem alguns métodos disponíveis para fazer isso. Eu não tive boas experiências tentando randomizar este programaticamente - tentar escrever qualquer coisa, mas um 0 ou -1 para o atributo pwdLastSet não funcionou para mim.

Minha tendência seria aplicar sua nova política de senha e expirar as senhas de um grupo de usuários semanalmente para distribuir a carga.

Você pode usar admodify para redefinir a data da última modificação. Eu pegava um grupo (na verdade eu importava uma lista de nomes de usuários de um arquivo TXT) e exigia que eles mudassem sua senha no próximo login.

Mantive uma planilha para saber quais usuários ainda precisavam expirar.

Duas desvantagens para essa abordagem - você precisa executar esse script várias vezes e os usuários não obterão o uso completo de seis meses da primeira senha complexa.

    
por 12.04.2013 / 19:30
2

Na minha cabeça, escolha um conjunto aleatório de usuários, depois de expirado o prazo que você deseja que a senha existente expire e, em seguida, expire novamente a senha:

$users = get-aduser -filter * | get-random -count <my number of users>
foreach ($user in $users) {Set-ADUser $user -ChangePasswordAtLogon $true}

Obviamente, você precisaria do PowerShell para este exemplo, mas o mesmo pode ser feito em qualquer linguagem de script

    
por 12.04.2013 / 20:22