En una plataforma Windows, ¿hay alguna utilidad de línea de comandos que pueda pasar una username
, password
domain name
a 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 use
comando, especificando el nombre de usuario y la contraseña en la línea de comando (en el formularionet use \\unc\path /user:username password
y verifique laerrorlevel
devolución para verificar si una credencial es válida.El
runas
comando 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 user
odsquery
. Elnet user
comando no le dirá si una cuenta está bloqueada, pero consultar ellockoutTime
atributo de la cuenta de usuario podría decirle eso.fuente
runas /user:username cmd
abrirá una nueva ventana de línea de comandos comousername
si 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) [], CommandNotFoundException
aqui. ¿Funciona esto exclusivamente en un controlador de dominio y no para cuentas locales?Test-ADAuthentication
no 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