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)?
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)?
Respuestas:
Puede usar el net use
comando, especificando el nombre de usuario y la contraseña en la línea de comando (en el formulario net use \\unc\path /user:username password
y verifique la errorlevel
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
o dsquery
. El net user
comando no le dirá si una cuenta está bloqueada, pero consultar el lockoutTime
atributo de la cuenta de usuario podría decirle eso.
runas /user:username cmd
abrirá una nueva ventana de línea de comandos como username
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:
Function Test-ADAuthentication {
param($username,$password)
(new-object directoryservices.directoryentry "",$username,$password).psbase.name -ne $null
}
PS C:\> Test-ADAuthentication "dom\myusername" "mypassword"
True
PS C:\>
Referencia: /programming/7663219/how-to-authenticate-an-user-in-activedirectory-with-powershell
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!