expiração de 24 horas da primeira senha

2

EDITAR ** Estou pensando em executar uma tarefa agendada no final de cada dia de trabalho para recuperar todas as contas que nunca fizeram logon e desativando suas contas. Por favor, desculpe quaisquer erros de sintaxe. Eu posso muito bem estar tateando aqui. Alguém pode dizer se esta solução funcionará?

get-aduser -f {-not ( lastlogontimestamp -like "*")} | Disable-ADAccount

Pergunta original **

Eu não sou um administrador de sistemas, sou mais um programador e novo no Active Directory e PowerShell. Eu fiz scripting em bash e outras linguagens para que eu possa pegar rapidamente.

Minha função atual (eu sou novo) tem um padrão de mercado para expirar / desativar contas se a primeira senha de uso não tiver sido utilizada em 24 horas. Eu fiz uma pesquisa e descobri que o AD não suporta esse recurso, mas aprendi que isso pode ser possível através de um script. Há um prazo apertado de uma auditoria e devo dizer que estamos um pouco desesperados.

Qualquer ajuda seria apreciada, mesmo apenas sobre as possíveis maneiras de definir o tempo de expiração ou identificar as contas que ainda não alteraram a senha.

Muito obrigado

    
por Jacksgrin 08.09.2014 / 16:41

4 respostas

2

Sim, seu one-liner deve funcionar. Modifiquei o seu comando original para filtrar apenas por contas ativadas.

Get-ADuser -f {-not ( lastlogontimestamp -like "*") -and (enabled -eq $true)} | Disable-ADAccount
    
por 09.09.2014 / 21:06
2

Você pode verificar as seguintes propriedades para descobrir se a conta do usuário fez login ou alterou a senha.

LastLogonDate PasswordLastSet

get-aduser -identity ACCOUNTNAME -properties LastLogonDate,PasswordLastSet 
    
por 08.09.2014 / 17:24
1

O Active Directory não tem como definir a expiração da senha em contas individuais. Quando ele expira senhas, ele verifica o atributo Pwd-Last-Set da conta contra a configuração global Max-Pwd-Age .

Se você estiver usando algum tipo de processo com script para criar contas de usuário, eu faria o seguinte:

  • Altere o script de criação de usuário para anexar a uma lista de nomes de usuário e carimbos de data e hora Pwd-Last-Set.
  • Crie uma tarefa agendada que repita a lista. Se o registro de data e hora Pwd-Last-Set na conta for o mesmo do arquivo (ou seja, eles não tiverem alterado as senhas) e o registro de data e hora no arquivo tiver mais de 24 horas, defina o atributo Pwd-Last-Set na conta como 0 e desmarque o sinalizador não expirar, se necessário. Isso irá expirar imediatamente a senha.
por 08.09.2014 / 17:01
1

For simplicity's sake, Is there a way to simply check if the password has never been changed? That way, I could run a scheduled task at the end of the day disabling any account with this property? – Jacksgrin

No entanto, esta pergunta é bastante antiga, comparando os valores das propriedades Created ou CreatedTimeStamp , juntamente com a propriedade PasswordLastSet que deve ser um começo.

get-aduser -identity [accountname] -properties Created,CreatedTimeStamp,PasswordLastSet,LastLogonDate

Isso deve mostrar se a senha da conta já foi alterada desde o início da conta.

FYI, não posso comentar ou teria respondido ao comentário dele.

    
por 06.07.2015 / 19:46