Pontos principais
Métodos para auditar e remover contas de administrador obsoletas no Active Directory
- Auditoria de administradores na nuvem: abra o PowerShell como administrador, conecte-se ao Microsoft Graph, execute o script de auditoria para listar as contas de administrador e os últimos logins, depois exporte as contas obsoletas (inativas há mais de 30 dias) e desative ou remova os privilégios.
- Descoberta de administradores locais: use o PowerShell nos dispositivos Windows para listar todos os administradores locais, verificar o último logon de cada usuário e desativar ou remover contas inativas há mais de 30 dias; amplie o processo para todos os endpoints com seu RMM.
- Verificações manuais de contas obsoletas: quando o PowerShell não estiver disponível, execute net localgroup administrators no CMD, confira os últimos logons nos Logs de Eventos de Segurança e use ferramentas de análise do Registro/SAM para identificar contas de administrador ocultas ou antigas.
- Controle de contas por GPO: use a Política de Grupo para restringir quem pode ser administrador local, negar o logon de contas obsoletas ou de risco e configurar o LAPS para fazer a rotação automática das senhas de administrador local em uma frequência definida.
- Auditoria e limpeza automatizadas: ative o registro de transcrição do PowerShell, agende auditorias recorrentes pelo RMM, desative automaticamente as contas obsoletas, arquive os logs de auditoria e configure alertas para a criação não autorizada de administradores.
Contas de administrador obsoletas são vulnerabilidades de segurança silenciosas: funcionam como portas dos fundos destrancadas para invasores no seu tenant do Microsoft 365 ou no ambiente híbrido. Essas contas privilegiadas esquecidas costumam escapar do monitoramento e criam riscos sérios de violação e de conformidade.
Neste guia, aprenda exatamente como encontrar contas obsoletas no Active Directory, auditá-las com eficiência e aplicar uma limpeza automatizada com PowerShell, Microsoft Graph e ferramentas de RMM para manter o ambiente seguro.
Elimine acessos administrativos desnecessários para reforçar a segurança e a conformidade.
Conheça os recursos de Gerenciamento do Active Directory do NinjaOne.
Como encontrar e limpar contas obsoletas no Active Directory
Uma conta de administrador obsoleta é qualquer identidade privilegiada sem atividade recente. Pode ser um administrador global do Microsoft 365 ou uma função privilegiada sem logins há mais de 30 dias, uma conta de administrador local do Windows 11 em dispositivos sem uso recente ou contas de serviço sem logins interativos e sem documentação clara de responsável.
Contas de ex-funcionários que não passaram por um desprovisionamento completo também entram nessa categoria. Encontrar e limpar essas contas de forma proativa no Active Directory ajuda a evitar violações de segurança e mantém o ambiente em conformidade.
📌 Caso de uso: faça essa limpeza durante auditorias trimestrais de segurança, após a saída de funcionários ou ao preparar relatórios de conformidade, como a revisão de 30 dias de contas inativas do Office 365. Verificações mensais são ideais para detectar riscos cedo, principalmente ao gerar relatórios de usuários inativos.
📌 Pré-requisitos: antes de começar, garanta acesso administrativo a todos os tenants do Microsoft 365, os módulos do PowerShell (como Microsoft Graph e AzureAD/MSOnline), os logs de auditoria do Microsoft Entra ativados e ferramentas de administração local para verificar endpoints. Para automatizar, use sua plataforma de RMM (por exemplo, NinjaOne) e centralize as varreduras e a aplicação de políticas.
Recomendamos conferir ⚠️ Pontos de atenção antes de prosseguir.
📌 Estratégias de implantação recomendadas:
Método 1: auditar administradores na nuvem com Microsoft Graph ou AzureAD PowerShell
O PowerShell dá acesso direto aos dados de atividade na nuvem, o que o torna a forma mais rápida de encontrar contas de administrador obsoletas.
📌 Casos de uso: faça essa auditoria a cada trimestre para checagens de conformidade, logo após o offboarding de funcionários ou ao preparar relatórios mensais de segurança. É especialmente útil quando precisa de relatórios personalizados de 30 dias de contas inativas do Office 365 que as ferramentas nativas não geram.
Passo a passo:
- Abra o PowerShell (Admin).
- Pressione Win + X e selecione Terminal do Windows (Administrador).
- Execute este script para conectar ao Microsoft Graph.
Connect-MgGraph -Scopes "Directory.Read.All", "AuditLog.Read.All"
- Autentique-se quando solicitado.
- Liste todas as contas de administrador:
$admins = Get-MgRoleManagementDirectoryRoleAssignment |Where-Object { (Get-MgDirectoryRole -DirectoryRoleId $_.RoleDefinitionId).DisplayName -match "Admin" } |ForEach-Object { Get-MgUser -UserId $_.PrincipalId }
- Verifique a data do último login.
$results = @()foreach ($admin in $admins) {$lastSignIn = Get-MgUserSignIn -UserId $admin.Id -All |Sort-Object CreatedDateTime -Descending |Select-Object -First 1$daysInactive = if ($lastSignIn) { (New-TimeSpan $lastSignIn.CreatedDateTime).Days } else { 999 }$results += [PSCustomObject]@{User = $admin.UserPrincipalNameLastSignIn = if ($lastSignIn) { $lastSignIn.CreatedDateTime } else { "Never" }DaysInactive= $daysInactiveRiskStatus = if ($daysInactive -ge 30) { "STALE" } else { "Active" }}}
- Uma conta é considerada obsoleta quando já se passaram 30 dias ou mais desde o último login.
- Exporte as contas sinalizadas:
$results | Where-Object { $_.RiskStatus -eq "STALE" } |Export-Csv "C:\Audit\Stale_Admins_$(Get-Date -Format 'yyyyMMdd').csv" -NoTypeInformation
Depois da auditoria, você terá um arquivo CSV com todas as contas de usuário obsoletas com privilégios de administrador inativas há 30 dias ou mais. Desative imediatamente as contas de alto risco com PowerShell ou pelo Centro de administração da Microsoft, remova as funções de administrador dos usuários sinalizados, documente os achados na sua plataforma de RMM e agende auditorias recorrentes.
Método 2: identificar contas de administrador local em dispositivos Windows via PowerShell
Contas de administrador local sem monitoramento em dispositivos Windows são alvos preferidos de invasores. Este método consulta diretamente o banco de dados SAM do Windows, sem depender da nuvem.
📌 Casos de uso: faça essa auditoria todo mês em todos os endpoints, principalmente após a saída de funcionários ou durante varreduras de vulnerabilidades. É essencial para identificar contas obsoletas com acesso local persistente que escapam do monitoramento na nuvem.
Passo a passo:
- No PowerShell (Admin), execute este script para listar os administradores locais de um dispositivo Windows 11:
Get-LocalGroupMember -Group "Administrators" |Select-Object Name, PrincipalSource
- A saída deve diferenciar contas de domínio/nuvem (AzureAD) das contas locais.
- Verifique o horário do último logon:
Get-LocalUser |Where-Object {$_.Enabled -eq $true} |Select-Object Name, LastLogon
- Desative ou remova as contas obsoletas (mais de 30 dias de inatividade):
Disable-LocalUser -Name "LegacyAdmin" # First disableRemove-LocalUser -Name "LegacyAdmin" # Then delete permanently
- Escale para todos os dispositivos com o script de RMM (como NinjaOne):
$computers = Get-ADComputer -Filter * | Select-Object -ExpandProperty NameInvoke-Command -ComputerName $computers -ScriptBlock {Get-LocalUser | Where-Object {($_.LastLogon -lt (Get-Date).AddDays(-30)) -and($_.Name -ne "Administrator")} | Disable-LocalUser}
Após a auditoria, é possível identificar contas de usuário locais obsoletas com direitos de administrador. Desative imediatamente as contas de alto risco, gire as senhas com o LAPS (Local Administrator Password Solution), documente tudo na plataforma de RMM com sinalizadores de risco e agende varreduras recorrentes para impedir o surgimento de novas contas obsoletas.
Método 3: usar CMD e auditoria do Registro para detectar persistência de administrador local
Quando o PowerShell não está disponível, esses métodos manuais revelam contas obsoletas escondidas.
📌 Casos de uso: use essa abordagem em verificações rápidas de dispositivos Windows 11 durante a resposta a incidentes ou quando o acesso ao PowerShell estiver restrito. É ideal para identificar contas obsoletas que escapam das ferramentas automatizadas.
Passo a passo:
- Liste os administradores locais pelo Prompt de Comando (Administrador).
- Procure por Prompt de Comando (Administrador) na Pesquisa da barra de tarefas.
- Execute este comando:
net localgroup administrators
- A saída deve mostrar todos os usuários com direitos de administrador no dispositivo atual.
- Verifique o último login de uma conta específica neste Log de Eventos de Segurança:
wevtutil qe Security "/q:*[System[(EventID=4624)] and EventData[Data[@Name='TargetUserName']='oldadmin']" /f:text /c:1
- Substitua oldadmin pelo nome de usuário suspeito. Esse script mostra o último login bem-sucedido.
- Verificação manual do Registro (alternativa avançada):
reg save HKLM\SAM sam.bakreg save HKLM\SYSTEM system.bak
- Use visualizadores de SAM offline (por exemplo, SAMInsight) para analisar \SAM\Domains\Account\Users\Names.
⚠️ Aviso: editar o Registro de forma incorreta pode causar instabilidade grave no sistema. Sempre faça backup do Registro ou crie um ponto de restauração do sistema antes de prosseguir. Consulte a seção ⚠️Pontos de atenção para saber mais.
Método 4: usar GPO para impedir a persistência de administrador local
As GPOs oferecem controle centralizado para impedir que invasores abusem de contas de administrador local obsoletas.
📌 Caso de uso: aplique esse método no hardening inicial do ambiente, depois de identificar contas obsoletas ou ao se preparar para auditorias de conformidade (por exemplo, SOC 2). É fundamental para aplicar o privilégio mínimo em escala.
Passo a passo:
- Restrinja a associação ao grupo Administradores local.
- Abra o Editor de Gerenciamento de Política de Grupo (gpedit.msc).
- Vá para Configuração do Computador > Políticas > Configurações do Windows > Configurações de Segurança > Grupos Restritos.
- Adicione o grupo Administradores e defina os membros permitidos por:
DOMAIN\SecuredAdmins (Allowed admin group)
- Isso impede que usuários não autorizados elevem privilégios.
- Negue o logon de contas obsoletas ou de risco.
- Na mesma GPO, navegue até: Configuração do Computador > Políticas > Configurações do Windows > Configurações de Segurança > Políticas Locais > Atribuição de Direitos de Usuário.
- Altere Negar logon localmente:
DOMAIN\OldAdminDOMAIN\Contractor_2020
- Isso bloqueia o login interativo das contas especificadas.
- Imponha o LAPS para a rotação de senhas.
- Instale o LAPS nos controladores de domínio:
Install-WindowsFeature -Name "RSAT-AD-PowerShell"Install-Module LAPS -Force
- Configure a política do LAPS:
Computer Configuration > Policies > Administrative Templates > LAPSEnable "Password Settings" and "Local Account Password Management"
Após a implementação, em até 90 minutos (na próxima atualização de GPO), as contas de usuário obsoletas perdem direitos de administrador e acesso de logon, as senhas de administrador local passam a girar automaticamente a cada 30 dias via LAPS e a superfície de ataque diminui com o bloqueio de riscos de pass-the-hash.
Método 5: automatizar e registrar a trilha de auditoria e a verificação da limpeza
A automação transforma o gerenciamento de contas obsoletas de tarefa reativa em medida de segurança proativa.
📌 Casos de uso: adote essa abordagem para conformidade contínua em ambientes multi-tenant, sobretudo após as auditorias iniciais ou durante os ciclos mensais de segurança. É indispensável para MSPs que gerenciam mais de 100 endpoints.
Passo a passo:
- Registre todas as ações com o PowerShell:
Start-Transcript -Path "C:\AuditLogs\$(Get-Date -Format 'yyyyMMdd').txt" -Append
- Execute seu script de auditoria (por exemplo, o do Método 1 ou 2)
Stop-Transcript
- Isso cria registros à prova de adulteração para fins de conformidade.
- Agende em uma plataforma de RMM (por exemplo, NinjaOne):
- Faça auditorias mensais de administradores.
- Use o script do PowerShell do Método 1 para encontrar contas obsoletas
- Desative automaticamente as contas inativas há 30 dias ou mais:
- Faça auditorias mensais de administradores.
$staleUsers = Import-Csv "C:\Audit\Stale_Admins.csv"$staleUsers | ForEach-Object {if ($_.DaysInactive -ge 30) {Set-MgUser -UserId $_.User -AccountEnabled:$false}}
- Exporte e arquive os relatórios:
Compress-Archive -Path "C:\AuditLogs\*.txt" -DestinationPath "\\NAS\Archives\StaleAdmins_$(Get-Date -Format 'yyyyMM').zip"
- Crie alertas para violações de política:
- Dispare um e-mail quando um novo administrador for criado fora da equipe de TI.
$newAdmin = Get-MgDirectoryRoleMember -DirectoryRoleId "role-id" |Where-Object { $_.CreatedDateTime -gt (Get-Date).AddHours(-1) }if ($newAdmin) {Send-MailMessage -To "[email protected]" -Subject "ALERT: Unauthorized Admin Created" -Body $newAdmin.UserPrincipalName}
Com tudo automatizado, o sistema passa a sinalizar contas de usuário obsoletas todo mês, desativar contas inativas após 30 dias, arquivar logs criptografados para conformidade, alertar em tempo real sobre violações de política e gerar relatórios executivos pelos painéis do RMM.
⚠️ Pontos de atenção
Esta seção reúne os desafios que merecem atenção ao seguir este guia.
| Riscos | Possíveis consequências | Como reverter |
| 1. Dados de login inconsistentes | Falsos positivos que desativam administradores ativos | 1. Confirme se os logs de auditoria unificados estão ativados. 2. Execute |
| 2. Falha na detecção de administradores locais | Contas obsoletas não identificadas nos endpoints | 1. Conceda direitos de administrador ao agente de RMM. 2. Use |
| 3. Remoção de conta protegida | Interrupção de serviços críticos | 1. Verifique o sinalizador msDS-ProtectedFromAccidentalDeletion.2. Valide a aplicação da GPO com |
| 4. Erros de autenticação na API do Graph | Falhas de script durante a automação | 1. Valide os escopos com Get-MgContext.2. Use |
| 5. Corrupção do Registro | O sistema operacional fica instável e a inicialização falha. | Faça backup do registro* ou crie um Ponto de Restauração do Sistema. *Abra o Editor do Registro (regedit) e selecione Arquivo > Exportar. Assista a Como fazer backup e restaurar o Registro do Windows para mais detalhes. |
| 6. GPO aplicada em excesso | Bloqueio de acesso a todos os dispositivos | 1. Preserve a conta break-glass na GPO. 2. Reverta com |
| 7. Automação agressiva demais | Desativação acidental em massa de usuários ativos | 1. Implemente um período de carência de 72 horas nos scripts. 2. Restaure pela lixeira do Entra ID (em até 30 dias). |
O que considerar ao auditar contas obsoletas
Equilibre segurança e continuidade operacional com estas salvaguardas essenciais.
Contas break-glass
Sempre exclua da limpeza automatizada pelo menos uma conta de administrador global por tenant (por exemplo, [email protected]). Guarde as credenciais em envelope lacrado ou cofre de senhas e faça a verificação trimestral com:
Get-MgUser -UserId "[email protected]" | Select AccountEnabled
Isso evita um bloqueio total em caso de configurações incorretas ou ataques de ransomware.
Privileged Identity Management (PIM)
Ative o acesso Just-in-Time no Microsoft Entra ID para eliminar funções administrativas permanentes. Para isso, vá até Entra ID > Governança de Identidade > Acesso Privilegiado e converta os administradores em funções qualificadas, com limites de tempo ativados por MFA.
Integração de alertas
Conecte o Microsoft Sentinel ou o Defender para Aplicativos de Nuvem para detectar contas dormentes. Crie estas regras de análise:
SigninLogs| where TimeGenerated > ago(90d)| summarize LastLogin = max(TimeGenerated) by UserPrincipalName| where LastLogin < ago(30d)
Alertas por e-mail/SMS para contas inativas do Office 365 e violações do relatório de 30 dias.
Contas de serviço
Marque as contas não interativas com o prefixo [SERVICE] e isente-as das políticas padrão de inatividade:
Set-MgUser -UserId "svc_sqlbackup" -Department "ServiceAccount-Exempt"
A auditoria é feita por:
Get-MgUser -Filter "startsWith(Department,'ServiceAccount')"
Retenção dos logs de auditoria
Estenda os logs de auditoria unificados para 365 dias, o que exige uma licença Entra ID P2. Para verificar, acesse Portal do Azure > Microsoft Entra ID > Monitoramento > Configurações de diagnóstico. Depois, ative AuditLogs e SignInLogs com retenção de 1 ano.
Conformidade: atende aos requisitos da FINRA/SOC 2 para localizar usuários inativos no O365.
Guia de início rápido
NinjaOne se integra a várias das principais soluções de antivírus para reforçar o gerenciamento de segurança e a detecção de ameaças nos dispositivos gerenciados. Veja as principais integrações de antivírus disponíveis no NinjaOne:
1. Bitdefender GravityZone
- Execute varreduras de antivírus direto do painel do NinjaOne.
- Visualize e corrija ameaças como arquivos em quarentena, ativos ou bloqueados.
- Sincronize os dados de ameaças entre NinjaOne e Bitdefender para ter atualizações em tempo real.
2. SentinelOne
- Implante políticas do SentinelOne no nível do grupo para um gerenciamento centralizado.
- Faça varreduras completas do disco e corrija ameaças direto do NinjaOne.
- Monitore o status do agente e consulte logs de atividade detalhados.
3. Webroot
- Integre o Webroot para varredura e correção de ameaças em tempo real.
- Veja os resultados das varreduras e gerencie ameaças pela interface do NinjaOne.
4. CrowdStrike Falcon (EDR e EPP)
- Importe dados de vulnerabilidades do CrowdStrike Spotlight para um acompanhamento centralizado.
- Ative o gerenciamento de exposição para identificar e mitigar riscos.
Simplifique o gerenciamento do Active Directory com a ajuda do NinjaOne
NinjaOne simplifica a auditoria de contas obsoletas com automação integrada.
- Implantação de scripts: automatize auditorias com PowerShell (Métodos 1 e 2) em todos os tenants e endpoints.
- Detecção de contas locais: verifique dispositivos Windows 11 em busca de administradores não autorizados e sinalize contas obsoletas em tempo real.
- Relatórios agendados: gere relatórios mensais de 30 dias de contas inativas do Office 365 com exportação em um clique.
- Aplicação de políticas: aplique restrições equivalentes às de GPO (Método 4) para garantir o privilégio mínimo.
- Alertas: receba notificações sobre novos administradores locais ou administradores globais inativos há mais de 30 dias.
- Linhas de base de segurança: aplique controles CIS/NIST para desativar automaticamente contas de alto risco.
Melhore a segurança do Active Directory com mais controle sobre as contas de administrador.
💻 Experimente o NinjaOne RMM gratuitamente ou veja uma demonstração.
Proteja seu ambiente: encontre contas obsoletas no Active Directory
Auditar e remover contas de administrador obsoletas é a base da segurança de identidade, e este guia traz métodos comprovados para eliminar esses riscos ocultos.
Ao aplicar essas técnicas, você fecha portas dos fundos esquecidas que invasores podem explorar e atende a exigências de conformidade como SOC 2 ou GDPR. Comece hoje mesmo suas auditorias mensais e mantenha um ambiente seguro e pronto para auditoria.
Temas relacionados
- Como limpar o Active Directory: boas práticas e dicas
- Como instalar e importar o módulo Active Directory do PowerShell
- Como se conectar ao Active Directory remotamente e gerenciar usuários
- Backup do Active Directory: visão geral com exemplos
- NinjaOne01 Monitoramento de alterações de usuários no Active Directory
