Active Directory se puede consultar desde la línea de comandos mediante PowerShell o comandos de dsquery heredados.

Comandos de PowerShell Active Directory

Listar todos los usuarios:

Comando
Get-ADUser -Filter *

Buscar usuario específico:

Comando
Get-ADUser -Identity "username"

Buscar usuario por nombre:

Comando
Get-ADUser -Filter "Name -like '*John*'"

Enumere todas las computadoras:

Comando
Get-ADComputer -Filter *

Listar todos los grupos:

Comando
Get-ADGroup -Filter *

Obtener información del dominio:

Comando
Get-ADDomain

Obtener controladores de dominio:

Comando
Get-ADDomainController -Filter *

Habilitar módulo AD de PowerShell

Si Get-ADUser no funciona, habilite el módulo:

Servidor Windows:

Comando
Import-Module ActiveDirectory

Windows 10/11: Instale RSAT (Herramientas de administración remota del servidor) desde Configuración > Aplicaciones > Funciones opcionales.

Luego ejecuta:

Comando
Import-Module ActiveDirectory

Comandos DSQUERY heredados

Funciona sin el módulo PowerShell en máquinas unidas a un dominio.

Buscar todos los usuarios:

Comando
dsquery user

Buscar usuario por nombre:

Comando
dsquery user -name "John*"

Encuentra todas las computadoras:

Comando
dsquery computer

Encuentra todos los grupos:

Comando
dsquery group

Buscar cuentas deshabilitadas:

Comando
dsquery user -disabled

Buscar computadoras inactivas (90 días):

Comando
dsquery computer -inactive 12

12 semanas = 90 días aproximadamente.

Obtener información detallada del usuario

PowerShell: muestra todas las propiedades:

Comando
Get-ADUser -Identity "username" -Properties *

DSGET (heredado):

Comando
dsquery user -name "username" | dsget user -display -email -mobile

Buscar membresías de grupos de usuarios

PowerShell:

Comando
Get-ADPrincipalGroupMembership -Identity "username"

DSGET:

Comando
dsget user "CN=Username,OU=Users,DC=domain,DC=com" -memberof

Buscar miembros de un grupo

PowerShell:

Comando
Get-ADGroupMember -Identity "GroupName"

DSGET:

Comando
dsget group "CN=GroupName,OU=Groups,DC=domain,DC=com" -members

Comprobar si el usuario está bloqueado

PowerShell:

Comando
Get-ADUser -Identity "username" -Properties LockedOut | Select-Object Name,LockedOut

Desbloquear usuario:

Comando
Unlock-ADAccount -Identity "username"

Restablecer contraseña de usuario

Comando
Set-ADAccountPassword -Identity "username" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "NewPassword123!" -Force)

Forzar cambio de contraseña en el próximo inicio de sesión:

Comando
Set-ADUser -Identity "username" -ChangePasswordAtLogon $true

Buscar computadora

Por nombre:

Comando
Get-ADComputer -Filter "Name -like '*DESKTOP*'"

Por sistema operativo:

Comando
Get-ADComputer -Filter "OperatingSystem -like '*Windows 11*'" -Properties OperatingSystem

Exportar resultados a CSV

PowerShell:

Comando
Get-ADUser -Filter * -Properties DisplayName,EmailAddress | Export-Csv users.csv -NoTypeInformation

Crea un archivo CSV con los datos del usuario.

Filtros comunes

Usuarios creados en los últimos 30 días:

Comando
$date = (Get-Date).AddDays(-30)
Get-ADUser -Filter "Created -gt '$date'" -Properties Created

Los usuarios nunca iniciaron sesión:

Comando
Get-ADUser -Filter "LastLogonDate -notlike '*'" -Properties LastLogonDate

Computadoras que no iniciaron sesión durante 90 días:

Comando
$date = (Get-Date).AddDays(-90)
Get-ADComputer -Filter "LastLogonDate -lt '$date'" -Properties LastLogonDate

Solución de problemas

"Get-ADUser no reconocido": Importe el módulo ActiveDirectory o instale RSAT.

"No se puede contactar con el servidor": No está en la red del dominio o el controlador de dominio es inalcanzable.

"Acceso denegado": Necesita administrador de dominio o permisos AD adecuados.

DSQUERY no devuelve nada: Verifique la sintaxis, asegúrese de que esté unido al dominio, verifique la conexión de red.

Conclusión

PowerShell (moderno):

Comando
Get-ADUser -Filter * | Find users
Get-ADComputer -Filter * | Find computers
Get-ADGroup -Filter * | Find groups

DSQUERY (heredado):

Comando
dsquery user | Find users
dsquery computer | Find computers
dsquery group | Find groups

PowerShell es más potente pero requiere el módulo ActiveDirectory. DSQUERY funciona en máquinas unidas a un dominio sin configuración adicional.

Ambos requieren conexión de red de dominio y permisos adecuados.