Powershell - Teste as credenciais do usuário no AD, com a redefinição de senha

7

Eu posso usar com sucesso o Powershell para saber se um usuário se autentica no Active Directory:

Function Test-ADAuthentication {
    param($username,$password)
    (new-object directoryservices.directoryentry "",$username,$password).psbase.name -ne $null
}

Test-ADAuthentication "test" "Password1"

No entanto, não posso, para minha vida, descobrir como:

  1. Verifique se a senha precisa ser redefinida, enquanto
  2. A verificação das credenciais enviadas funcionou na última senha.

Como alguém poderia fazer isso?

    
por dthree 16.05.2014 / 21:39

1 resposta

7

Credenciais podem ser testadas executando um processo. Um exemplo abaixo,

Start-Process -FilePath cmd.exe /c -Credential (Get-Credential -UserName $username -Message 'Test Credential')

Ou simplesmente:

Start-Process -FilePath cmd.exe /c -Credential (Get-Credential)

Você será apresentado a um prompt para inserir uma senha. Se você precisar ler a senha de uma string (má prática), será necessário inicializar o objeto de credencial de antemão. Mais detalhes sobre esse método podem ser encontrados na ajuda.

Get-Help Get-Credential
    
por 20.05.2014 / 18:35