Powershell: pruebe las credenciales de usuario en AD, con restablecimiento de contraseña

8

Puedo usar con éxito Powershell para saber si un usuario se autentica en Active Directory:

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

Test-ADAuthentication "test" "Password1"

Sin embargo, no puedo por mi vida descubrir cómo:

  1. Compruebe si la contraseña debe restablecerse, mientras
  2. La verificación de las credenciales enviadas funcionó con su última contraseña.

¿Cómo podría uno hacer esto?

dthree
fuente
solución algo mejor para el mismo problema aquí: stackoverflow.com/questions/7663219/…
Nick Kavadias

Respuestas:

8

Las credenciales se pueden probar ejecutando un proceso. Un ejemplo a continuación,

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

O simplemente:

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

Se le solicitará que ingrese una contraseña. Si necesita leer la contraseña de una cadena (mala práctica), debe inicializar el objeto de credencial de antemano. Se pueden encontrar más detalles sobre ese método en la ayuda.

Get-Help Get-Credential
MFT
fuente
Es posible que este proceso de inicio no funcione de todos modos si el usuario no tiene derechos remotos ... Encontré las respuestas útiles aquí. serverfault.com/questions/276098/…
andrew pate