En una plataforma Windows, ¿hay alguna utilidad de línea de comandos que pueda pasar una username, password domain namea fin de verificar las credenciales (o posiblemente dará un error que la cuenta está desactivada, no existe o expirado)?
19

Respuestas:
Puede usar el
net usecomando, especificando el nombre de usuario y la contraseña en la línea de comando (en el formularionet use \\unc\path /user:username passwordy verifique laerrorleveldevolución para verificar si una credencial es válida.El
runascomando también funcionaría, excepto que le resultará más difícil probar la salida.Probar una credencial para la existencia de una cuenta sería una cuestión de usar
net userodsquery. Elnet usercomando no le dirá si una cuenta está bloqueada, pero consultar ellockoutTimeatributo de la cuenta de usuario podría decirle eso.fuente
runas /user:username cmdabrirá una nueva ventana de línea de comandos comousernamesi proporcionara una contraseña válida y ese usuario pueda iniciar sesión en esta computadora. Comúnmente abriré un shell para probar que la contraseña sigue siendo la predeterminada en función de su información personal que puedo buscar.En Powershell:
Referencia: /programming/7663219/how-to-authenticate-an-user-in-activedirectory-with-powershell
fuente
ObjectNotFound: (Test-ADAuthentication:String) [], CommandNotFoundExceptionaqui. ¿Funciona esto exclusivamente en un controlador de dominio y no para cuentas locales?Test-ADAuthenticationno está integrado en PowerShell$pass = Read-Host -assecurestring 'Enter password'Solo quería agregar que dado que AD es un servidor LDAP, puede usar una herramienta de línea de comando LDAP para 'enlazarlo', lo que confirma si está activo o no. También puede vincularse como usuario con mayores privilegios y luego buscar AD utilizando los principios de LDAP.
Pero bueno, ¡no hay nada malo con Powershell!
fuente