O Active Directory pode ser consultado na linha de comando usando o PowerShell ou comandos dsquery legados.
Comandos do Active Directory do PowerShell
Liste todos os usuários:
Get-ADUser -Filter *
Encontre um usuário específico:
Get-ADUser -Identity "username"
Pesquise usuário por nome:
Get-ADUser -Filter "Name -like '*John*'"
Liste todos os computadores:
Get-ADComputer -Filter *
Liste todos os grupos:
Get-ADGroup -Filter *
Obtenha informações de domínio:
Get-ADDomain
Obtenha controladores de domínio:
Get-ADDomainController -Filter *
Habilitar módulo AD do PowerShell
Se Get-ADUser não funcionar, habilite o módulo:
Servidor Windows:
Import-Module ActiveDirectory
Windows 10/11: Instale RSAT (ferramentas de administração de servidor remoto) em Configurações > Aplicativos > Recursos opcionais.
Em seguida, execute:
Import-Module ActiveDirectory
Comandos DSQUERY herdados
Funciona sem módulo PowerShell em máquinas associadas ao domínio.
Encontre todos os usuários:
dsquery user
Encontre o usuário pelo nome:
dsquery user -name "John*"
Encontre todos os computadores:
dsquery computer
Encontre todos os grupos:
dsquery group
Encontre contas desativadas:
dsquery user -disabled
Encontre computadores inativos (90 dias):
dsquery computer -inactive 12
12 semanas = 90 dias aproximadamente.
Obtenha informações detalhadas do usuário
PowerShell - mostra todas as propriedades:
Get-ADUser -Identity "username" -Properties *
DSGET (legado):
dsquery user -name "username" | dsget user -display -email -mobile
Encontre membros de grupos de usuários
PowerShell:
Get-ADPrincipalGroupMembership -Identity "username"
DSGET:
dsget user "CN=Username,OU=Users,DC=domain,DC=com" -memberof
Encontre membros de um grupo
PowerShell:
Get-ADGroupMember -Identity "GroupName"
DSGET:
dsget group "CN=GroupName,OU=Groups,DC=domain,DC=com" -members
Verifique se o usuário está bloqueado
PowerShell:
Get-ADUser -Identity "username" -Properties LockedOut | Select-Object Name,LockedOut
Desbloquear usuário:
Unlock-ADAccount -Identity "username"
Redefinir senha do usuário
Set-ADAccountPassword -Identity "username" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "NewPassword123!" -Force)
Forçar alteração de senha no próximo logon:
Set-ADUser -Identity "username" -ChangePasswordAtLogon $true
Pesquisar computador
Por nome:
Get-ADComputer -Filter "Name -like '*DESKTOP*'"
Por sistema operacional:
Get-ADComputer -Filter "OperatingSystem -like '*Windows 11*'" -Properties OperatingSystem
Exportar resultados para CSV
PowerShell:
Get-ADUser -Filter * -Properties DisplayName,EmailAddress | Export-Csv users.csv -NoTypeInformation
Cria arquivo CSV com dados do usuário.
Filtros Comuns
Usuários criados nos últimos 30 dias:
$date = (Get-Date).AddDays(-30)
Get-ADUser -Filter "Created -gt '$date'" -Properties Created
Usuários nunca fizeram login:
Get-ADUser -Filter "LastLogonDate -notlike '*'" -Properties LastLogonDate
Computadores sem login há 90 dias:
$date = (Get-Date).AddDays(-90)
Get-ADComputer -Filter "LastLogonDate -lt '$date'" -Properties LastLogonDate
Solução de problemas
"Get-ADUser não reconhecido": Importe o módulo ActiveDirectory ou instale o RSAT.
"Não foi possível contatar o servidor": Não está na rede de domínio ou controlador de domínio inacessível.
"Acesso negado": Necessita de administrador de domínio ou permissões apropriadas de AD.
DSQUERY não retorna nada: Verifique a sintaxe, garanta a adesão ao domínio, verifique a conexão de rede.
Conclusão
PowerShell (moderno):
Get-ADUser -Filter * | Find users
Get-ADComputer -Filter * | Find computers
Get-ADGroup -Filter * | Find groups
DSQUERY (legado):
dsquery user | Find users
dsquery computer | Find computers
dsquery group | Find groups
O PowerShell é mais poderoso, mas requer o módulo ActiveDirectory. DSQUERY funciona em máquinas associadas ao domínio sem configuração adicional.
Ambos requerem conexão de rede de domínio e permissões apropriadas.